0

特定の一致について返された配列のチェックに関連する問題が少しあります。

これが私がすることです:

サーバー API にクエリを実行すると、API は次を使用して印刷可能な結果を​​返します。

print_r($result);

印刷結果は次のとおりです。

Array
(
    [<html><center>Password_Saved!</center></html>] => 
)

だから私は次のようなことができると思った:

function checkResult ($needle, $haystack) {   return ( stripos($haystack,$needle) !== false ? TRUE : FALSE); }

if ((checkResult("saved",$result))) {
echo "saved";
} else {
echo "not saved";
}

ただし、これはまったく機能しないため、結果に基づいて次のアクションを実行するためにこれを知る必要があるため、保存された文字列が $result に含まれている場合に方法を見つけるのを手伝ってもらえないかと思っています。

どうぞよろしくお願いいたします。

4

3 に答える 3

2

探している値は、値ではなく配列のキーに存在します。そのため、値ではなく配列のキーで検索を行う必要があります。

foreach ($result as $key => $value)
{
   if (false !== stripos ($key, "saved"))
   {
      print "{$key} => Saved";
   }
}
于 2013-08-17T14:13:26.390 に答える
0

PHP preg_grep 関数について読む

例えば:

$needle_pattern = '/search/i'; // i for case insensitive
preg_grep($needle_pattern, $array_haystack);

また、コードで「保存済み」と「保存済み」が混在していることにも注意してください:)

この方法の詳細については、次を参照してください。

preg_matchで配列を検索するには?

PS「haystack」が実際にキーである場合は、$array_haystack を array_keys ($array_haystack) に切り替えてすべてのキーの配列を取得できます。

于 2013-08-17T14:06:45.200 に答える