Php 逐行循环多维数据
我试图循环通过这个数组,以便在每次迭代中并排输出Php 逐行循环多维数据,php,arrays,Php,Arrays,我试图循环通过这个数组,以便在每次迭代中并排输出 $cars = [ 'BMW' => [ 'Year' => '2020', 'Body' => 'Sedan', 'Mileage' => '100' ], 'Ford' => [ 'Year' => '2019', 'Body' => 'SUV', 'Mileage' => '
$cars = [
'BMW' => [
'Year' => '2020',
'Body' => 'Sedan',
'Mileage' => '100'
],
'Ford' => [
'Year' => '2019',
'Body' => 'SUV',
'Mileage' => '500'
]
];
$count = count(reset($cars));
for($i=0; $i<$count; $i++) {
foreach($cars as $key => $value) {
echo $cars[$key][$i]. '<br>';
}
}
2020,2019
Sedan,SUV
100,500
我已经搜索了一些链接,但没有一个是特定于多维数组的
您提到的另一个问题是关于拥有独立的数据数组,您可以通过将主数组拆分为多个部分来模拟这些数据数组 此解决方案假定所需值的所有键都在第一项中(如您的示例中,它们都有3个值),并在第一个数组元素上循环,并使用
array\u column()
从该键的所有主数组元素中提取所有值。然后内爆()
将这些值作为CSV列表
foreach ( $cars[array_keys($cars)[0]] as $key => $value) {
echo implode(",", array_column($cars, $key)).PHP_EOL;
}
这与你的测试数据给出
2020,2019
Sedan,SUV
100,500
您只需将所需的数组值存储在另一个数组中,然后将其内爆或根据需要使其工作即可。请看下面的代码
$cars = [
'BMW' => [
'Year' => '2020',
'Body' => 'Sedan',
'Mileage' => '100'
],
'Ford' => [
'Year' => '2019',
'Body' => 'SUV',
'Mileage' => '500'
],
];
$year = [];
$body = [];
$milage = [];
foreach( $cars as $key => $car ){
if( $car['Year'] ){
$year[] = $car['Year'];
}
if( $car['Body'] ){
$body[] = $car['Body'];
}
if( $car['Mileage'] ){
$milage[] = $car['Mileage'];
}
}
var_dump(implode( ',', $year));
var_dump(implode( ',', $body));
var_dump(implode( ',', $milage));
将为您提供以下输出:
string(9) "2020,2019" string(9) "Sedan,SUV" string(7) "100,500"
非常感谢。工作如期。谢谢你,图欣。