2 回答

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊
你可以嘗試這樣的事情:
<?php
$list = array();
$list[7362][0]['value'] = 'apple';
$list[7362][1]['value'] = 'orange';
$list[9215][0]['value'] = 'lemon';
foreach ($list as $keynum=>$keyarr) {
foreach ($keyarr as $key=>$index) {
if (array_search('orange', $index) !== false) {
echo "orange found in $key >> $keynum";
}
}
}
?>
您可以選擇只回顯echo $keynum;您的目的。
遍歷數(shù)組并找出找到的位置orange。
您可以將其重構(gòu)為如下函數(shù):
<?php
function getKeys($list, $text) {
foreach ($list as $keynum=>$keyarr) {
foreach ($keyarr as $key=>$index) {
if (array_search($text, $index) !== false) {
return "$text found in $key >> $keynum";
}
}
}
return "not found";
}
$list = array();
$list[7362][0]['value'] = 'apple';
$list[7362][1]['value'] = 'orange';
$list[9215][0]['value'] = 'lemon';
echo getKeys($list, 'lemon');
?>
echo getKeys($list, 'lemon');會(huì)給你lemon found in 0 >> 9215。
echo getKeys($list, 'orange');會(huì)給你orange found in 1 >> 7362。
echo getKeys($list, 'apple');會(huì)給你apple found in 0 >> 7362。

TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個(gè)贊
它array_column在該級(jí)別嵌套到很遠(yuǎn),因此只需循環(huán):
foreach($list as $k => $v) {
if(in_array('orange', array_column($v, 'value'))) {
$key = $k;
break;
}
}
如果可以有多個(gè)則創(chuàng)建一個(gè)數(shù)組并且不要break:
$key[] = $k;
//break;
- 2 回答
- 0 關(guān)注
- 198 瀏覽
添加回答
舉報(bào)