帮我看这个代码是怎么执行的,结果是这样.
<?php
$ar=array(
array('id'=>4,'pid'=>1),
array('id'=>5,'pid'=>1),
array('id'=>6,'pid'=>1),
array('id'=>7,'pid'=>3),
array('id'=>8,'pid'=>4),
array('id'=>9,'pid'=>4),
array('id'=>10,'pid'=>5),
array('id'=>11,'pid'=>6),
array('id'=>12,'pid'=>6),
array('id'=>13,'pid'=>6),
array('id'=>14,'pid'=>8),
array('id'=>20,'pid'=>14),
array('id'=>30,'pid'=>20),
);
$aiya=array();
foreach($ar as $k=>$v){
if($v['pid']==1){
echo "1下面:".$v['id']."<br />";
$aiya[]=$v['id'];
}
foreach($aiya as $k1=>$v1){
if($v['pid']==$v1){
$aiya[]=$v['id'];
}
}
}
echo "<br />";
var_dump($aiya);
?>你们猜猜这段代码执行结果是什么,为什么
<?php
$ar=array(
array('id'=>4,'pid'=>1),
array('id'=>5,'pid'=>1),
array('id'=>6,'pid'=>1),
array('id'=>7,'pid'=>3),
array('id'=>8,'pid'=>4),
array('id'=>9,'pid'=>4),
array('id'=>10,'pid'=>5),
array('id'=>11,'pid'=>6),
array('id'=>12,'pid'=>6),
array('id'=>13,'pid'=>6),
array('id'=>14,'pid'=>8),
array('id'=>20,'pid'=>14),
array('id'=>30,'pid'=>20),
);
$aiya=array();
foreach($ar as $k=>$v){
if($v['pid']==1){
echo "1下面:".$v['id']."<br />";
$aiya[]=$v['id'];
}
foreach($aiya as $k1=>$v1){
if($v['pid']==$v1){
$aiya[]=$v['id'];
}
}
}
echo "<br />";
var_dump($aiya);
?>你们猜猜这段代码执行结果是什么,为什么
如果伱要是想遍历数组$ar,下面代码可以做到:foreach($ar as $arr){ foreach($arr as $key=>$val){
echo $key."=>".$val." ";
}
echo "<br>";
}
<?php
$ar=array(
array('id'=>4,'pid'=>1),
array('id'=>5,'pid'=>1),
array('id'=>6,'pid'=>1),
array('id'=>7,'pid'=>3),
array('id'=>8,'pid'=>4),
array('id'=>9,'pid'=>4),
array('id'=>10,'pid'=>5),
array('id'=>11,'pid'=>6),
array('id'=>12,'pid'=>6),
array('id'=>13,'pid'=>6),
array('id'=>14,'pid'=>8),
array('id'=>20,'pid'=>14),
array('id'=>30,'pid'=>20),
);
$aiya=array();
foreach($ar as $k=>$v){
if($v['pid']==1){
echo "1下面:".$v['id']."<br />";
$aiya[]=$v['id'];
}
echo "测试一次数组遍力 的结果<br>" ;//增加的检测代码跟踪输出数据.
print_r($aiya);//增加的检测代码跟踪输出数据.
echo '<br>';//增加的检测代码跟踪输出数据.
foreach($aiya as $k1=>$v1){
if($v['pid']==$v1){
$aiya[]=$v['id'];
}
}
}
echo "<br />";
var_dump($aiya);
?>
<?php
$ar=array(
array('id'=>4,'pid'=>1),
array('id'=>5,'pid'=>1),
array('id'=>6,'pid'=>1),
array('id'=>7,'pid'=>3),
array('id'=>8,'pid'=>4),
array('id'=>9,'pid'=>4),
array('id'=>10,'pid'=>5),
array('id'=>11,'pid'=>6),
array('id'=>12,'pid'=>6),
array('id'=>13,'pid'=>6),
array('id'=>14,'pid'=>8),
array('id'=>20,'pid'=>14),
array('id'=>30,'pid'=>20),
);
$aiya=array();
foreach($ar as $k=>$v){
if($v['pid']==1){
echo "1下面将存储数据:".$v['id']."<br />";
$aiya[]=$v['id'];
}foreach($aiya as $k1=>$v1){
if($v['pid']==$v1){
$aiya[]=$v['id'];
echo "1下面将存储数据:".$v['id']."<br />";
}
}
echo "测试第一次遍力 的结果<br>" ;
print_r($aiya);
echo '<br>';
}
echo "你的最终$aiya 的数据结构为:<br />";
var_dump($aiya);
?>
最终输出结果1下面将存储数据:4
测试第一次遍力 的结果
Array ( [0] => 4 )
1下面将存储数据:5
测试第一次遍力 的结果
Array ( [0] => 4 [1] => 5 )
1下面将存储数据:6
测试第一次遍力 的结果
Array ( [0] => 4 [1] => 5 [2] => 6 )
测试第一次遍力 的结果
Array ( [0] => 4 [1] => 5 [2] => 6 )
1下面将存储数据:8
测试第一次遍力 的结果
Array ( [0] => 4 [1] => 5 [2] => 6 [3] => 8 )
1下面将存储数据:9
测试第一次遍力 的结果
Array ( [0] => 4 [1] => 5 [2] => 6 [3] => 8 [4] => 9 )
1下面将存储数据:10
测试第一次遍力 的结果
Array ( [0] => 4 [1] => 5 [2] => 6 [3] => 8 [4] => 9 [5] => 10 )
1下面将存储数据:11
测试第一次遍力 的结果
Array ( [0] => 4 [1] => 5 [2] => 6 [3] => 8 [4] => 9 [5] => 10 [6] => 11 )
1下面将存储数据:12
测试第一次遍力 的结果
Array ( [0] => 4 [1] => 5 [2] => 6 [3] => 8 [4] => 9 [5] => 10 [6] => 11 [7] => 12 )
1下面将存储数据:13
测试第一次遍力 的结果
Array ( [0] => 4 [1] => 5 [2] => 6 [3] => 8 [4] => 9 [5] => 10 [6] => 11 [7] => 12 [8] => 13 )
1下面将存储数据:14
测试第一次遍力 的结果
Array ( [0] => 4 [1] => 5 [2] => 6 [3] => 8 [4] => 9 [5] => 10 [6] => 11 [7] => 12 [8] => 13 [9] => 14 )
1下面将存储数据:20
测试第一次遍力 的结果
Array ( [0] => 4 [1] => 5 [2] => 6 [3] => 8 [4] => 9 [5] => 10 [6] => 11 [7] => 12 [8] => 13 [9] => 14 [10] => 20 )
1下面将存储数据:30
测试第一次遍力 的结果
Array ( [0] => 4 [1] => 5 [2] => 6 [3] => 8 [4] => 9 [5] => 10 [6] => 11 [7] => 12 [8] => 13 [9] => 14 [10] => 20 [11] => 30 )
你的最终Array 的数据结构为:
array(12) { [0]=> int(4) [1]=> int(5) [2]=> int(6) [3]=> int(8) [4]=> int(9) [5]=> int(10) [6]=> int(11) [7]=> int(12) [8]=> int(13) [9]=> int(14) [10]=> int(20) [11]=> int(30) }