Loop method: 1. Use the for statement to traverse the array; 2. Use the foreach() statement to traverse the array; 3. Use the while statement with the list() and each() functions to traverse the array; 4. Use the while statement Use key(), current(), next() and other pointer functions to traverse the array.
The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer
Four ways of array loop traversal
1. Use a for loop to traverse the array
conut($arr);
is used to count the number of array elements.
The for loop can only be used to traverse, pure index arrays! ! ! !
If there is an associative array, the total number of the two arrays will be counted during count statistics, and a for loop will be used to traverse the mixed array, causing the array to go out of bounds! !
eg:
$arr = array(1,2,3,5,6,7); $num = count($arr); //count最好放到for外面,可以让函数只执行一次 echo "数组元素的个数{$num}<br/>"; for($i=0;$i<$num;$i++){ echo "{$i}==>{$arr[$i]}<br/>"; }
2. forEach loops through arrays
foreach can traverse any type of array! ! !
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>"; }
For example, parse the following array:
$h51701 = array( "group1"=>array( array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男") ), "group2"=>array( array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男") ), "group3"=>array( array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男") ) ); foreach ($h51701 as $key => $value) { echo "{$key}<br><br>"; foreach ($value as $key1 => $value1) { echo "第".($key1+1)."个同学<br>"; foreach ($value1 as $key2 => $value2) { echo "{$key2}==>{$value2}<br>"; } echo "<br>"; } echo "------------------------<br>"; }
3. Use list(), each(), while() to traverse the array
(Key points) list(): used to assign each value of the array to each parameter of the list function. (The parameters of the list function must be less than or equal to the number of elements in the array);
Note:
① When list() parses the array, it only parses the index array;
② list can selectively parse the value of the array through empty parameters;
(Key points) each(): used to return the key-value pair where the current pointer of the array is located! And move the pointer back one digit;
Return value: If the pointer has the next digit, return an array. Contains an index array (0-key, 1-value) and an associative array ("key"-key, "value"-value); if the pointer does not have the next digit, return false; ##
while(list($key,$value) = each($arr)){ echo "{$key}-->{$value}<br>"; } reset($arr);
!!!!After the array is traversed using each(), the pointer is used the next bit after the last bit; that is, if each() is used again, false will always be returned;
If it is still To use, you need to use the reset($arr); function to reset the array pointer; 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(true){ $a = each($arr); if($a){ echo "{$a[0]}-->{$a[1]}<br>"; echo "{$a['key']}-->{$a['value']}<br>"; }else{ break; } }
while(list($key,$value) = each($arr)){ echo "{$key}-->{$value}<br>"; } reset($arr); while(list($key,$value) = each($arr)){ echo "{$key}-->{$value}<br>"; }
4. Use the array pointer to traverse the array
① next: Move the array pointer one position backward. And return the value of the next digit; if false
$arr = [1,2,3,4,"one"=>5]; while(true){ echo key($arr); echo "--"; echo current($arr); echo "<br>"; if(!next($arr)){ break; } } reset($arr);//第二种方式: do{ echo key($arr); echo "--"; echo current($arr); echo "<br>"; }while(next($arr)); reset($arr);Recommended learning: "
PHP Video Tutorial
"The above is the detailed content of What are the several ways to loop through arrays in php. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Atom editor mac version download
The most popular open source editor

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Dreamweaver Mac version
Visual web development tools

Zend Studio 13.0.1
Powerful PHP integrated development environment
