Home > php教程 > php手册 > body text

PHP 遍历数组语句总结(foreach,for,list,each)

WBOY
Release: 2016-06-13 11:36:13
Original
1180 people have browsed it

 foreach来访问, 遍历的顺序是固定的么? 以什么顺序遍历呢?

比如:

代码如下

$colors= array('red','blue','green','yellow');
foreach ($colors as $color){
//add your codes
}
?>

例2

$capitals= array("Ohio"=> "Columbus","Towa"=> "Des Moines","Arizona"=> "Phoenix");
foreach($capitals as $key=> $val){
//add your codes
}

 


while()

while() 通常和 list(),each()配合使用。

#example2:

代码如下

$colors = array('red','blue','green','yellow');

while(list($key,$val) = each($colors)) {
echo "Other list of $val.
";
}
?>

显示结果:

Other list of red.
Other list of blue.
Other list of green.
Other list of yellow.

 

3. for()
#example3:

代码如下


$arr = array ("0" => "zero","1" => "one","2" => "two");

for ($i = 0;$i $str = $arr[$i];
echo "the number is $str.
";
}
?>
显示结果:

the number is zero.
the number is one.
the number is two.

 

========= 以下是函数介绍 ==========

key()
mixed key(array input_array)

key()函数返回input_array中位于当前指针位置的键元素。

#example4

代码如下


$capitals = array("Ohio" => "Columbus","Towa" => "Des Moines","Arizona" => "Phoenix");
echo "

Can you name the capitals of these states?

";
while($key = key($capitals)) {
echo $key."
";
next($capitals);
//每个key()调用不会推进指针。为此要使用next()函数
}
?>

Can you name the capitals of these states?
Ohio
Towa
Arizona

 

each() 函数遍历数组

例子 1

代码如下

$people = array("Peter", "Joe", "Glenn", "Cleveland");
print_r (each($people));
?>

输出:

Array ( [1] => Peter [value] => Peter [0] => 0 [key] => 0 )

 

子 2
each() 经常和 list() 结合使用来遍历数组。本例与上例类似,不过循环输出了整个数组:

代码如下

复制代码

$people = array("Peter", "Joe", "Glenn", "Cleveland");

reset($people);

while (list($key, $val) = each($people))
{
echo "$key => $val
";
}
?>

 

输出:

0 => Peter
1 => Joe
2 => Glenn
3 => Cleveland


多维数组的递归遍历

代码如下

/*
* -------------------------------------------------
* Author :
* Url : www.45it.com* Date : 2011-03-09
* -------------------------------------------------
*/
function arr_foreach ($arr)
{
if (!is_array ($arr))
{
return false;
}

foreach ($arr as $key => $val )
{
if (is_array ($val))
{
arr_foreach ($val);
}
else
{
echo $val.'
';
}
}
}

$arr1 = array (1=>array(11,12,13,14=>array(141,142)),2,3,4,5);

echo '

';<br>
print_r($arr1);<br>
echo '<pre class="brush:php;toolbar:false">';
<p>arr_foreach ($arr1);<br>
?></p>
<p>结果</p>
<p>Array<br>
(<br>
[1] => Array<br>
(<br>
[0] => 11<br>
[1] => 12<br>
[2] => 13<br>
[14] => Array<br>
(<br>
[0] => 141<br>
[1] => 142<br>
)</p>
<p>)</p>
<p>[2] => 2<br>
[3] => 3<br>
[4] => 4<br>
[5] => 5<br>
)<br>
11<br>
12<br>
13<br>
141<br>
142<br>
2<br>
3<br>
4<br>
5</p> 
Copy after login
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!