-1

配列は次のようになります。

$array = array(
  array(
    'Item' => array(47, 48, 46, 42),
    'ID' => 1,
  ),
  array(
    'Item' => array(29, 37, 46, 48),
    'ID' => 2,
  ),
  array(
    'Item' => array(33, 27, 18),
    'ID' => 3,
  ),
);

私がやろうとしているのは、[Item] 配列を検索し、一致する場合は [ID] を新しい配列に追加することです。

そのため、探している場合は46、ID の結果を単純な配列で取得し1ます2

これはとても単純なはずですが、完全なメンタルブロックにぶつかったようですので、どんな助けも大歓迎です.

4

3 に答える 3

0

試す:

$ids = array();
foreach($yourArray as $v)
    if(in_array(46, $v["Item"]))
        $ids[] = $v["ID"];
于 2012-10-23T13:09:08.033 に答える
0

これを試して、

foreach($array as $v) {
if(in_array(46, $v['Item'])
    $ids[] = $v['ID']; //array $ids will contain 1, 2..and so on.
}
于 2012-10-23T13:11:20.683 に答える
0

in_array() を使ってみましたか?

配列を反復処理して、値が Item 配列にあるかどうかを確認できます。何かのようなもの:

function getId(array $array, $value) {
    $ids = array();
    foreach ($array as $element) {
       if (in_array($value, $element['Item'])) {
           $ids[] = $element['ID'];
       }
    }
    return $ids;
}
于 2012-10-23T13:13:51.600 に答える