Home  >  Article  >  Backend Development  >  Can a for loop in php traverse an array?

Can a for loop in php traverse an array?

青灯夜游
青灯夜游Original
2022-11-17 18:50:562153browse

In PHP, the for loop can traverse the array, the syntax is "for($i=0;$i

Can a for loop in php traverse an array?

The operating environment of this tutorial: windows7 system, PHP version 8.1, DELL G3 computer

The for loop in php can traverse the array .

The for loop is a way to traverse an array that can be used in almost all languages, and the PHP language is no exception.

1. Structural analysis of for loop statement

The for loop will pre-define the variable that controls the number of loops in the for statement, so for Loop statements can perform loop operations based on a known number of loops, and are suitable for situations where the number of times the script needs to be run is clearly known.

The syntax format of the for loop is as follows:

for (初始化语句; 循环条件; 变量更新--自增或自减) {
    语句块;   
}

The for loop statement can be disassembled into 4 parts: three of the () Expressions and "statement blocks" in {}, let's analyze them below.

Statement analysis:

  • #Initialization statement (expression 1): mainly initializes a variable value, used to set a counter , which is the value at the beginning of the loop; this statement is only executed during the first loop and will not be executed again in the future.

  • Loop condition (expression 2): Restriction condition for loop execution, used to control whether to execute the code in the loop body; if the condition is TRUE, the loop continues, if the condition is FALSE , the loop ends and exits the loop immediately.

  • Variable update (expression 3): an expression with an increment or decrement operation. Every time the loop is executed, the value of the counter is immediately modified so that the loop The conditions gradually become "untenable".

  • Statement block: Several codes that need to be executed when the condition is judged to be true.

Is the above description a bit convoluted? Let’s take a look at the execution flow chart of the for loop statement to understand the execution of the for loop more intuitively. Process:

Can a for loop in php traverse an array?

2. The for loop statement traverses the array

Let’s first explain it through code examples See how to traverse, and learn more by analyzing the code.

<?php
header("Content-type:text/html;charset=utf-8");
$array= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
var_dump($array);
echo "for循环遍历输出:<br/><br/>";
for ($i=0; $i < count($array); $i++) { 
    echo $array[$i] . "<br/>";
} 
?>

Output:

Can a for loop in php traverse an array?

Code analysis:

  • The initialization statement is $i=0: The array in the example is an index array, and the subscript of the array starts from 0 by default, so the value at the beginning of the loop must be 0.

  • Loop condition$i <count>: The count() function is used to calculate the length of the array, then the loop condition is<code>$i &lt ; Array length , because when $i = array length , $i has exceeded the index range (the index range is 0 ~ Array length-1).

  • Variable update$i : After each loop, the variable $i automatically increases by 1 until $i = array length , because $i exceeds the index range, the loop condition is not established, and then the loop exits.

  • ##echo $array[$i] . "
    ": Each time it loops, the array is based on the $i value Subscript to output array elements.

Note: Using a for loop to traverse an array will not change the internal pointer of the array.

Note: There are the following restrictions when using for to traverse an array:

1. The array traversed must be an index array (i.e., the following Array subscripted as a number), cannot be an associative array (array subscripted as a string)

The following code is as follows


<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(&#39;brand&#39;=>&#39;google&#39;,&#39;email&#39;=>&#39;Gmail&#39;,&#39;WebBrowser&#39;=>&#39;Chrome&#39;,&#39;phone&#39;=>&#39;Android&#39;);
for($i=1;$i<=count($arr);$i++){
echo $arr[$i];
}
?>

Can a for loop in php traverse an array?

An error will be reported at runtime, which shows that for is not suitable for traversing associative arrays

2. The array traversed by for must not only be an index array, but also the subscript must be a continuous integer. If If it is not a continuous integer, a prompt will occur

<?php
header("Content-type:text/html;charset=utf-8");
$array=array(1=>&#39;Google&#39;,5=>&#39;Chrome&#39;,7=>&#39;Android&#39;,9=>&#39;Youtube&#39;,12=>&#39;Gmail&#39;);
//print_r($array);
 
for($i=0;$i<count($array);$i++){
echo $array[$i],"<br>";
}
?>

Can a for loop in php traverse an array?

Therefore, the array traversed by the for loop must be an index array and the subscripts must be continuous.

Recommended: PHP interview questions summary (collection)》《php video tutorial

The above is the detailed content of Can a for loop in php traverse an array?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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