PHP Получает первое значение всех массивов в многомерном массиве
Вот раздел моего многомерного массива:
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];
Есть ли способ выполнить итерацию по всему многомерному массиву и вывести первое значение каждого дочернего массива?
8
5 answers
foreach ($main_array as $inner_array){
echo $inner_array[0] . "\n";
}
1
Author: John Conde, 2014-10-19 11:56:22
Предположим, вы используете php 5.3:
$first_elements = array_map(function($i) {
return $i[0];
}, $data);
В противном случае вам нужно реализовать функцию обратного вызова или просто использовать обычную старую foreach
16
Author: zerkms, 2012-04-22 21:37:27
Вот однострочный текст:
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
)
8
Author: Shumoapp, 2016-12-06 15:23:26
foreach($array as $x) {
echo $x[0]."\n";
}
2
Author: gopi1410, 2012-04-22 21:40:35
Я думаю, что функция, которую вы ищете, это reset()
, например
array_map('reset', $array);
Или
foreach ($array as $subarray)
echo reset($subarray)."\n";
Обратите внимание, что это работает, даже если 0 не является первым индексом массива. Например, $a = [1=>5,0=>3]; echo reset($a);
все равно будет echo 5;
.
1
Author: Christoph, 2016-12-06 15:33:35