13

これが私の多次元配列のセクションです:

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];

多次元配列全体を反復処理して、各子配列の最初の値をエコーアウトする方法はありますか?

4

7 に答える 7

21

php 5.3を使用するとします:

$first_elements = array_map(function($i) {
    return $i[0];
}, $data);

それ以外の場合は、コールバック関数を実装するか、単純な古いものを使用する必要がありますforeach

于 2012-04-22T21:37:27.167 に答える
17

ここにワンライナーがあります:

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
)
于 2016-12-06T15:23:26.490 に答える
1
foreach ($main_array as $inner_array){
  echo $inner_array[0] . "\n";
}
于 2012-04-22T21:37:34.087 に答える
1
foreach($array as $x) {
   echo $x[0]."\n";
}
于 2012-04-22T21:40:35.573 に答える