Php 使用foreach的数组中的多个数组
我使用foreach来回送多维数组 我知道还有另一种简单的方法,但我想尝试使用foreach 这是我的密码:Php 使用foreach的数组中的多个数组,php,arrays,loops,foreach,Php,Arrays,Loops,Foreach,我使用foreach来回送多维数组 我知道还有另一种简单的方法,但我想尝试使用foreach 这是我的密码: <?php $cars = array( array("Volvo", 22, 18), array("BMW", 15, 13, array( 'satu' => 'heelo' ) ), array("Saab", 5, 2), array("Land Rover", 17,
<?php
$cars = array(
array("Volvo", 22, 18),
array("BMW", 15, 13,
array(
'satu' => 'heelo'
)
),
array("Saab", 5, 2),
array("Land Rover", 17, 15,
array('satu','dua')
)
);
foreach ($cars as $kebal)
{
if (is_array ($kebal))
{
foreach ($kebal as $katak)
{
echo($katak);
echo "<br>";
echo "<br>";
}
}
else
{
echo ($kebal);
echo "<br>";
}
}
?>
那么,如何正确地编写代码呢?
谢谢。您遇到的问题是数组中的大多数元素都是字符串或整数,但也有两个元素是数组。最好的办法是先测试该值是否为数组,然后决定执行什么操作
<?php
$cars = array(
array("Volvo",22,18),
array("BMW",15,13,array('satu'=>'heelo')),
array("Saab",5,2),
array("Land Rover",17,15,array('satu','dua'))
);
function myLoop($inputData){
if( is_array($inputData) ){
foreach($inputData as $value){
myLoop($value);
echo "<br>";
}
} else {
echo "$inputData<br>";
}
}
myLoop($cars);
?>
您遇到的问题是数组中的大多数元素都是字符串或整数,但也有两个元素是数组。最好的办法是先测试该值是否为数组,然后决定执行什么操作
<?php
$cars = array(
array("Volvo",22,18),
array("BMW",15,13,array('satu'=>'heelo')),
array("Saab",5,2),
array("Land Rover",17,15,array('satu','dua'))
);
function myLoop($inputData){
if( is_array($inputData) ){
foreach($inputData as $value){
myLoop($value);
echo "<br>";
}
} else {
echo "$inputData<br>";
}
}
myLoop($cars);
?>
…但我想尝试使用foreach
好的-代码不能正常工作的原因是,当你到达数组时,例如satu=>heelo
你只是想回显它,因为此时你没有处理它
就在外面:
foreach ($cars as $carOptions) {
foreach ($carOptions as $kebal) {
if (is_array($kebal)) {
foreach ($kebal as $katak) {
echo $katak;
echo "<br>";
echo "<br>";
}
} else {
echo $kebal;
echo "<br>";
}
}
}
foreach($cars as$carOptions){
foreach($carOptions作为$kebal){
if(is_数组($kebal)){
foreach($kebal作为$katak){
echo$katak;
回声“
”;
回声“
”;
}
}否则{
echo$kebal;
回声“
”;
}
}
}
…但我想尝试使用foreach
好的-代码不能正常工作的原因是,当你到达数组时,例如satu=>heelo
你只是想回显它,因为此时你没有处理它
就在外面:
foreach ($cars as $carOptions) {
foreach ($carOptions as $kebal) {
if (is_array($kebal)) {
foreach ($kebal as $katak) {
echo $katak;
echo "<br>";
echo "<br>";
}
} else {
echo $kebal;
echo "<br>";
}
}
}
foreach($cars as$carOptions){
foreach($carOptions作为$kebal){
if(is_数组($kebal)){
foreach($kebal作为$katak){
echo$katak;
回声“
”;
回声“
”;
}
}否则{
echo$kebal;
回声“
”;
}
}
}
循环不够深,您还有另一个维度数组('satu'=>'heelo')
,只需卷起一个递归函数或使用SPL@Rizier123怎样foreach再次使用is_数组?@Ghost spl?对不起,我还在学习..你可以搜索它,只是研究你的方式,有很多content@Ghost谢谢你的建议。现在阅读并尝试:)循环不够深,您仍然有另一个维度数组('satu'=>'heelo')
,只需卷起一个递归函数或使用SPL@Rizier123怎样foreach再次使用is_数组?@Ghost spl?对不起,我还在学习..你可以搜索它,只是研究你的方式,有很多content@Ghost谢谢你的建议。现在阅读并尝试:)@RobbieAverill,谢谢你。我犯了个错误,忘了我的“foreach”循环谢谢你们。我将保留您的建议,以便在阵列中进一步使用。再次感谢@RobbieAverill,谢谢你。我犯了个错误,忘了我的“foreach”循环谢谢你们。我将保留您的建议,以便在阵列中进一步使用。再次感谢!你的建议和解释让我很清楚!现在,如果数组中有许多数组,我可以理解如何将foreach用于多维数组。谢谢!@穆罕默德-这个答案有效,并且符合你的问题。我完全同意@ThrowBackDewd的观点——你应该使用一个递归函数,就像他的回答中那样,以防它发生变化。它也比嵌套循环更整洁。你的建议和解释真的让我很清楚!现在,如果数组中有许多数组,我可以理解如何将foreach用于多维数组。谢谢!@穆罕默德-这个答案有效,并且符合你的问题。我完全同意@ThrowBackDewd的观点——你应该使用一个递归函数,就像他的回答中那样,以防它发生变化。它也比嵌套循环更整洁