0 レビュー
1 回答
php-サブ配列を検索し、親配列のインデックスを取得します
次のような配列があります:
Array
(
[sku_code_part] => Array
(
[1] => Array
(
[id] => 1
[name] => Category
[sku_code_type] => 1
)
[2] => Array
(
[id] => 2
[name] => -
[sku_code_type] => 4
)
[3] => Array
(
[id] => 2
[name] => -
[sku_code_type] => 7
)
)
search_array()を使用してsku_code_type = 7を見つけ、その親キーである3を返そうとしています。ただし、search_arrayは値のキーのみを返し、親配列のインデックスは返しません。
これに最適なオプションは何ですか?
配列をループすることを考えていますが、パフォーマンスの観点から、これがやり過ぎになるかどうかはわかりません。
わからない
0
レビュー
答え :
解決策:
これを行う1つの方法は、 array_filter を使用し、結果から array_keys を使用して、一致するすべてのキーを元に戻すことです。配列。
$result = array_filter($this->request->post['sku_code_part'], function($value, $key){
return $value["sku_code_type"] === 7;
}, ARRAY_FILTER_USE_BOTH);
print_r(array_keys($result));
または、提案されているように、 $key
と$value
foreach($ this-> request-> post ['sku_code_part'] as $key => $value){
if($value ["sku_code_type"] === 7){
echo "sku_code_type:7、親キー:$key \ n";
}
}
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。