2016-12-01 2 views
0

私はこのようなコード例を持っている:PHP Array文字が見つからないかどうかを調べる方法は?

$a = "A"; 
$b = array("A", "B", "C"); 

foreach ($b as $value) 
{ 
    $checkName = strpos($a, $value); 

    if($checkName !== false) 
    { 
     echo "K"; 
    } 
    else 
    { 
     echo "b"; 
    } 
} 

私は上記のコード実行した場合、「KBB」と表示されます。

どのように文字列を見つけたら「K」だけをエコーし​​ますか? ので、私が欲しいもの

  1. 配列内の文字列を検索

    、エコーのkを発見した場合
  2. するエコーBを見つけていない場合、です。
+1

あなたはループから脱出する必要があります....今go google。 – Kitson88

答えて

0

それは、単純な線形検索の質問です:

$a = "A"; 
$b = array("A", "B", "C"); 

$found = FALSE; 

foreach ($b as $value) 
{ 
    if($value == $a) 
    { 
     $found = TRUE; 
     break; 
    } 
} 

if($found) 
    echo 'k'; 
else 
    echo 'b'; 

希望は、それが役立ちます。

ありがとうございます。

+0

それは私が必要なものです!ありがとう! – yosafat

+0

@yosafat:あなたは大歓迎です。 –

4

in_arrayの機能を参照できます。

しかし、上記のコードは、完全に一致する場合にのみKをエコーし​​ます。あなたは文字が文字列配列である見つける必要がある場合は、あなたが使用する必要があります。

if(strpos($value, $a) === false) { 
    echo "B"; 
} else { 
    echo "K"; 
} 
+0

私にそれを打つ。これは正解です@ yosafat – Loko

+0

ありがとうございました!それが私が必要とするものです! – yosafat

+0

しかし、私は完全には一致しない文字列を持っている場合、それを行う方法を待つ? @AkiEru – yosafat

関連する問題