0

特定の値の配列を検索しようとしています。この値を見つけたらarray key、配列内の他の情報にアクセスするためにその値が必要になります。検索する必要がある配列は次のとおりです。

array(3) {
  [0]=>
  array(20) {
    ["FirstName"]=>
    string(7) "Person1"
    ["LastName"]=>
    string(7) "Person1"
    ["UserId"]=>
    int(5632414)
  }
  [1]=>
  array(20) {
     ["FirstName"]=>
    string(7) "Person2"
    ["LastName"]=>
    string(7) "Person2"
    ["UserId"]=>
    int(5632414)
  }
  [2]=>
  array(20) {
     ["FirstName"]=>
    string(7) "Person3"
    ["LastName"]=>
    string(7) "Person3"
    ["UserId"]=>
    int(5632414)
  }
}

特定の UserId の配列を検索しています。私はいくつかのコードを試しましたが、どれもうまくいかないようです。スクリプトを実行すると、空白の画面が表示されます。これが私の最新のコードです:

$array = json_decode($output);

for ($x = 0; $x <= count($array); $x++) {
    $key = array_search('5632414', $array);
    echo $key;
}
4

3 に答える 3

0

array_search1 次元配列でのみ使用できます。あなたの場合、トップレベルの配列で文字列を探しているのではなく、連想サブ配列の1つの値です。

foreach ($array as $key => $subarray) {
    if ($subarray['UserId'] == 5632414) {
        echo $key;
    }
}
于 2013-10-03T22:02:56.430 に答える
0

投稿した出力から判断すると、var_dump次のようなことができるようです。

$array = json_decode($output);

for ($x = 0; $x < count($array); $x++) {
    if ( $array[ x ][ "UserId" ] === $the_value_I_am_looking_for )
    {
        //Then do something
    }
}
于 2013-10-03T22:08:37.500 に答える