0

次のような配列があります。

Array
(
    [100] => Array
        (
            [room_id] => 100
            [name] => Town Center
        )

    [110] => Array
        (
            [room_id] => 110
            [name] => Coffee Shop
            [pin_id] => 7146
            [pin_x] => 570
            [pin_y] => 150
        )
)

「pin_id」キーがあれば、特定の値を取得できる方法があるかどうか疑問に思っていました。たとえば、次のようになります。

Array
(
    [100] => Array
        (
            [room_id] => 100
            [name] => Town Center     <-- No "pin_id" so I DON'T need this value
        )

    [110] => Array
        (
            [room_id] => 110
            [name] => Coffee Shop     <-- I want to OBTAIN this value
            [pin_id] => 7146          <-- Since the "pin_id" key is here
            [pin_x] => 570
            [pin_y] => 150
        )
)

foreach を使用してみましたが、複雑になりました。私はまだ配列に非常に慣れておらず、用語/関数にあまり慣れていません。

4

3 に答える 3

1

PHP機能を簡単に使用するarray_key_exists

foreach多次元配列を使用しているため、ループを実行する必要がある場合があります。

$names = [];
foreach($array as $e)
{
  if(array_key_exists('pin_id', $e)) {
        echo "The 'pin_id' element is in the array";
      $names[] = $e['name'];
  }
}

そして今$names、すべての名前の値を含めます

于 2013-03-10T01:26:29.877 に答える
0
foreach ($your_big_array as $arr) {
    if ($arr['pin_id'] == 'some_value') $i_need_this = $arr['name'];
}
于 2013-03-10T02:40:30.753 に答える