0

次の形式で配列を作成するスクリプトがあります

  $named_array["vehicles"][0]['vehicle'] = "i100-1 "  ;
  $named_array["vehicles"][1]['vehicle'] = "i100-2 "  ;
  $named_array["vehicles"][2]['vehicle'] = "i100-46 "  ;

スクリプトの後半でやりたいことは、$named_array からインデックス値 [0-1-2 など] を取得することですが、クエリ オプションとして値 (i100-1 など) しか持っていません。これは、後で変更できるようにするためです。 . 私が達成したいのは$named_array、値がi100-2であるインデックス値は何ですか

これは最後にjsonに出力されます。

これが理にかなっていることを願っています!何か助けてください?

4

2 に答える 2

2
function complex_index_of($named_array, $val){
    for($i=0, $n=count($named_array['vehicles']); $i<$n; $i++){
        if ($named_array['vehicles'][$i]['vehicle'] == $val)
            return $i;
    }
    return -1;
}


echo complex_index_of($named_array, 'i100-2 ');
// output: 1
于 2013-03-21T18:20:53.577 に答える
1

このようなことを試してください(複数回実行する必要がある場合は、関数を作成する可能性があります)

$needle = 'i100-1';
$vIndex = -1;
foreach ($named_array["vehicles"] as $index => $data) {
    if($data['vehicle'] == $needle) {
        $vIndex = $index;
        break;
    }
}
于 2013-03-21T18:22:49.233 に答える