[英]How to loop through multidimensional arrays with deffierent lengths - PHP
I'm trying to loop through a multidimensional array. 我试图遍历多维数组。 Each array's sub-array has a different number of values.
每个数组的子数组都有不同数量的值。 How would I loop through this to output a list item for each cars' value?
我将如何循环浏览以输出每辆车的价值的清单项目?
$cars = array (
array("Volvo",1,2,3),
array("BMW",4,5),
array("Saab",6,7,8,9),
array("Land Rover",10),
);
$carsLength = count($cars);
for ($row = 0; $row < $carsLength; $row++) {
echo "<p><b>Row number $row</b></p>";
echo "<ul>";
$listLength = count($bullet);
for ($bullet = 0; $bullet < $listLength; $bullet++) {
echo "<li>".$cars[$row][$bullet]."</li>";
}
echo "</ul>";
}
You need to foreach no index maintainance required, 您无需要求任何索引维护,
foreach ($cars as $key => $value) {
echo "<p><b>Row number $key</b></p>";
echo "<ul>";
foreach ($value as $value1) {
echo "<li>" . $value1 . "</li>";
}
echo "</ul>";
}
The code can be further simplified with a only a foreach and implode. 只需使用foreach和爆破即可进一步简化代码。
Implode creates a string from an array with the "glue" in between. Implode通过介于两者之间的“胶水”从数组创建一个字符串。
$cars = array (
array("Volvo",1,2,3),
array("BMW",4,5),
array("Saab",6,7,8,9),
array("Land Rover",10),
);
foreach($cars as $row => $sub){
echo "<p><b>Row number " . ($row +1) . "</b></p>\n";
echo "<ul>\n";
echo "<li>" . implode("</li><li>", $sub) . "</li>\n";
echo "</ul>\n\n";
}
Output: 输出:
<p><b>Row number 1</b></p>
<ul>
<li>Volvo</li><li>1</li><li>2</li><li>3</li>
</ul>
<p><b>Row number 2</b></p>
<ul>
<li>BMW</li><li>4</li><li>5</li>
</ul>
<p><b>Row number 3</b></p>
<ul>
<li>Saab</li><li>6</li><li>7</li><li>8</li><li>9</li>
</ul>
<p><b>Row number 4</b></p>
<ul>
<li>Land Rover</li><li>10</li>
</ul>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.