Maison > Article > développement back-end > Maîtrisez les quatre façons de parcourir les tableaux
[(concentrer) les quatre méthodes de circulation des tableaux à travers le tableau] <br> 1, utiliser pour parcourir le tableau de arrays conut($arr) utilisé pour compter le nombre d'éléments du tableau. <br> La boucle for ne peut être utilisée que pour parcourir des tableaux d'index purs ! ! ! ! <br> S'il existe un tableau associatif, le nombre total des deux tableaux sera compté lors des statistiques de comptage, et une boucle for sera utilisée pour parcourir le tableau mixte, provoquant la sortie du tableau bornes! ! <br> par exemple : <br> $arr = array(1,2,3,5,6,7);<br> $num = count($arr); <br> //count est mieux placé à l'extérieur pour, afin que la fonction ne puisse être exécutée qu'une seule fois echo "Le nombre d'éléments du tableau {$num}
";<br> pour($i=0;$i<$num;$i++){
echo "{$i}= =>
2. La boucle forEach parcourt le tableau
foreach peut parcourir n'importe quel type de tableau ! ! !
par exemple :
Par exemple Parse le tableau suivant :
$arr = array(1,2,3,"one"=>4,5,6,7); foreach($arr as $value){ echo "{$item}<br>"; } foreach($arr as $key => $value){ echo "{$key}==>{$item}<br>"; }</p> <p><br></p> <p><br><span style="font-family: 仿宋; font-size: 18px"> 使用list()、each()、while()遍历数组</span><br><span style="font-family: 仿宋; font-size: 18px"> <span style="color: #cc99ff">(重点)list():用于将数组的每一个值,赋值给list函数的每一个参数。(list函数的参数,必须小于等于数组的元素个数);</span></span><br><span style="font-family: 仿宋; font-size: 18px"> eg:list($a,$b,$c)=[1,2,3];-->$a=1; $b=2; $c=3;</span><br><span style="font-family: 仿宋; font-size: 18px"> 注意:① list()在解析数组时,只解析索引数组;</span><br><span style="font-family: 仿宋; font-size: 18px"> ② list可以通过空参数,选择性的解析数组的值;</span><br><span style="font-family: 仿宋; font-size: 18px"> list($a,,$b)=[1,2,3];-->$a=1; $b=3;</span><br><span style="font-family: 仿宋; font-size: 18px"> <span style="color: #cc99ff">(重点)each():用于返回数组当前指针所在位的键值对!并将指针后移一位;</span></span><br><span style="color: #cc99ff"><span style="font-family: 仿宋; font-size: 18px"> 返回值:如果指针有下一位,返回一个数组。包含一个索引数组(0-键,1-值)和一个关联数组("key"-键,"value"-值);如果指针没有下一位,返回false;</span><span style="font-family: 仿宋; font-size: 18px"> </span></span><br><span style="font-family: 仿宋; font-size: 18px"> eg: </span><br><span style="font-family: 仿宋; font-size: 18px"> ① each($arr) 返回数组或false;</span><br><span style="font-family: 仿宋; font-size: 18px"> ② 把数组或false赋值给$a;</span><br><span style="font-family: 仿宋; font-size: 18px"> ③ while判断$a如果是数组,继续执行下一次;</span><br><span style="font-family: 仿宋; font-size: 18px"> 如果$a是false,终止循环</span><br><span style="font-family: 仿宋; font-size: 18px"> while($a = each($arr)){</span><br><span style="font-family: 仿宋; font-size: 18px"> echo "{$a[0]}-->{$a[1]}<br>"; </span><br><span style="font-family: 仿宋; font-size: 18px"> echo "{$a['key']}-->{$a['value']}<br>"; </span><br><span style="font-family: 仿宋; font-size: 18px"> }</span><span style="font-family: 仿宋; font-size: 18px"> </span><br><span style="font-family: 仿宋; font-size: 18px"> <strong><span style="color: #339966"> <span style="color: #ff0000"> 3.使用list()/each()/while()配合遍历数组</span></span></strong></span></p> <div class="cnblogs_code"><pre class="brush:php;toolbar:false"> while(list($key,$value) = each($arr)){ echo "{$key}-->{$value}<br>"; } reset($arr);
!!!!数组使用each()遍历完一遍后,指针使用处于最后一位的下一位;即再用each(),始终返回false;<br> 如果还需使用,需用reset($arr);函数,重置数组指针;<br> eg:
$arr = array(1,2,3,"one"=>4,5,6,7); foreach($arr as $value){ echo "{$item}<br>"; } foreach($arr as $key => $value){ echo "{$key}==>{$item}<br>"; }
(=
while(list($key,$value) = each($arr)){ echo "{$key}-->{$value}<br>"; } reset($arr); while(list($key,$value) = each($arr)){ echo "{$key}-->{$value}<br>"; }
<br> 4、 使用数组指针遍历数组<br> ① next:将数组指针,后移一位。并返回后一位的值;没有返回false<br> ② prev:将数组指针,前移一位。并返回前一位的值;没有返回false<br> ③ end: 将数组指针,移至最后一位,返回最后一位的值;空数组返回false<br> ④ reset:将数组指针,恢复到第一位。并返回第一位的值;空数组返回false<br> ⑤ key: 返回当前指针所在位的键;<br> ⑥ current:返回当前指针所在位的值;
$arr = [,,,,=>((!
do{ echo key($arr); echo "--"; echo current($arr); echo "<br>"; }while(next($arr)); reset($arr);
<br>
牛刀小试:<br> 1.遍历数组:$subject1 = array("Linux","PHP","MySQL","HTML","CSS","JQuery")<br> 方式一:for循环遍历
for($i=0;$i<count($subject1);$i++){ echo $subject1[$i]."<br/>"; }
方式二:使用list()/each()/while()配合遍历数组
. (list($key,$value)=
方式三:forEach循环遍历
foreach ($subject1 as $key => $value) { echo "{$key}-->{$value}<br/>"; }
方式四:指针
do{<br> echo key($subject1)."=>".current($subject1)."
";<br> }while(next($subject1));<br> echo "
";
2.使用reset(),end(),prev(),next(),key(),current();与do…while组合倒着输出数组中的值:<br> $subject2 = array(“Linux”,”PHP”,”MySQL”,”HTML”,”CSS”,”JQuery”)
$subject2 = array("Linux","PHP","MySQL","HTML","CSS","JQuery"); end($subject2); do{ echo key($subject2)."=>".current($subject2)."<br>"; }while(prev($subject2));
<br>
感觉不错就试试吧!!!
<br>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!