我有一个像这样的php数组:
array(
[0] =>
array(
... 3 elements ... )
['cat'] =>
'FF'
...
['iPath'] =>
'http://www.xx.com/images'
...
['dispName'] =>
'Fast Food'
...
)
[1] =>
array(
... 3 elements ... )
['cat'] =>
'G&L'
...
['iPath'] =>
'http://www.xx.com/images'
...
['dispName'] =>
'Grocery & Liquor'
...
)
[2] =>
array(
... 3 elements ... )
['cat'] =>
'Gas'
...
['iPath'] =>
'http://www.xx.com/images'
...
['dispName'] =>
'Gas Stations'
...
)
)
我希望能够获取以下值:iPath和dispName,当cat = XXX时。例如,当cat ='G& L'时。
感谢
ldj
答案 0 :(得分:3)
一个。我对你的示例代码不了解。
B中。要在PHP中获取数组值,您可以使用数字键值和字符串键值。以下任何一项都有效:
$arr[1][7][0]
$arr['key1'][2]
$arr['42'][42]
$arr['keyLevel1']['keyLevel2']
另请注意,$arr[42]
将使用与$arr['42']
相同的元素。
℃。以下是一些推荐阅读:http://php.net/manual/en/language.types.array.php
A”。查找数组中所有Gas
值的键。
function findGasInArray($arr){
$results = Array();
foreach($arr as $key => $val){
if($val == 'Gas')
$results[] = Array($key);
if(is_array($val)){
foreach(findGasInArray($val) as $otherVal){
array_unshift($otherVal, $key);
$results[] = $otherVal;
}
}
}
return $results;
}
findAllGasInArray($myBigArray);
答案 1 :(得分:1)
使用array_filter。假设您的数组名为$ arr,请执行以下操作:
$indexes = array_filter(function($i) { return $arr[i]['cat'] == 'Gas'; }, array_keys($arr));
答案 2 :(得分:0)
$array[2]['cat']