这是我的多维数组的一部分:
Array (
[0] => Array ( [0] => Height [1] => 40 )
[1] => Array ( [0] => Weight [1] => 15 )
[2] => Array ( [0] => Ctr_Percent [1] => 15 )
)
只打印height
、weight
和ctr_percent
的语法是什么?我的意思不是像这样回应它:
echo $array[0][0];
echo $array[1][0];
有没有办法遍历整个多维数组并回显出每个子数组的第一个值?
假设你使用 php 5.3:
$first_elements = array_map(function($i) {
return $i[0];
}, $data);
否则,您需要实现回调函数或仅使用普通的旧foreach
这是一个单行:
array_map('array_shift', $array);
将返回:
Array
(
[0] => Height
[1] => Weight
[2] => Ctr_Percent
)
这是另一个:
array_combine(array_map('array_shift', $temp), array_map('array_pop', $temp))
将返回:
Array
(
[Height] => 40
[Weight] => 15
[Ctr_Percent] => 15
)
使用 array_column:
$result = array_column($array, 0);
foreach ($main_array as $inner_array){
echo $inner_array[0] . "'n";
}
foreach($array as $x) {
echo $x[0]."'n";
}
我认为您要查找的功能reset()
array_map('reset', $array);
或
foreach ($array as $subarray)
echo reset($subarray)."'n";
请注意,即使 0 不是数组的第一个索引,这也有效。 例如 $a = [1=>5,0=>3]; echo reset($a);
仍然会echo 5;
.
使用array_walk
最简单的方法
function getFirstElement(&$val){
$val = $val[0];
}
array_walk($data,'getFirstElement');
现在,如果您打印像print_r($data);
这样的$data,您将获得如下结果
Array
(
[0] => Height
[1] => Weight
[2] => Ctr_Percent
)