1

私はPHPが初めてです。

データの配列を検索し、部分的な文字列を含むアイテムと一致させようとしています

例: ユーザーが「oh」と入力すると、「oh」を含むアイテムが検索されるため、そのアイテムは John である可能性があります。

私はこれまでこれを持っていますが、何も一致しません

if(isset($_POST['firstName'])){
    for($i = 0 ; $i<count($studentInfo);$i++){
        if(strpos($firstName,$studentInfo[$i][2]))

もちろん、アイテムが見つかったら何かを行うコードは他にもあります。多くの substr メソッドと STRPOS 関数を見てきましたが、自分のコードでそれを機能させる方法がわかりません。

4

2 に答える 2

2

編集:質問をよく見ると、配列の値内で一致を検索しているように見えます。これには、 preg_grep()と呼ばれる preg_match() に似たものがあります。

$arrMatchingValues = preg_grep("/^findme/", $array);

preg_match()を見てください。そのページのサンプルコードを使用する:

<?php
$subject = "abcdef";
$pattern = '/^def/';
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 3);
print_r($matches);
?>

$subject検索したいものです。 $pattern照合する正規表現パターンです。

于 2013-02-24T03:11:11.090 に答える
0

正規表現を使用する必要があります。特定のケースでは、配列をループし、各項目に対して preg_match を使用する必要があります (リンクされた記事で詳しく説明されています)。一致したアイテムはすべて別の配列に追加する必要があります。または、それで好きなことを行うことができます。

于 2013-02-24T03:09:00.037 に答える