Home > Backend Development > PHP Tutorial > Detailed introduction to PHP array loop operation with example code_PHP tutorial

Detailed introduction to PHP array loop operation with example code_PHP tutorial

WBOY
Release: 2016-07-21 15:13:34
Original
717 people have browsed it

PHP arrays are quite commonly used, so I studied the PHP array loop operation and shared it with you here. I hope it will be useful to everyone. PHP is basically an array language. We often need to perform a large number of PHP array loop operations. There are two main methods, one is foreach and the other is while. There has been debate on which one is better and which one is worse. Although I have been aware of this problem for a long time, I have always been Without going into details, the feeling of ignorance continues until now. In order to save some CPU time in the future, let’s summarize it below:

What is done in the loop is the array "read" operation, so foreach is faster than while, PHP array loop Operation unformatted view copy to clipboard print code?

Copy code The code is as follows:

foreach($arrayas$value) {
echo$value;
}
while(list($key)=each($array)){
echo$array[$key];
}
foreach( $arrayas$value){
echo$value;
}
while(list($key)=each($array)){
echo$array[$key];
}

The array "writing" operation is performed in the loop, so while is faster than foreach:

View without format copy to clipboard and print the code?
Copy code The code is as follows:

foreach($arrayas$key=>$value){
echo$array[$key]=$ value.'...';
}
while(list($key)=each($array)){
$array[$key]=$array[$key].'.. .';
}
foreach($arrayas$key=>$value){
echo$array[$key]=$value.'...';
}
while(list($key)=each($array)){
$array[$key]=$array[$key].'...';
}

Summary: It is generally believed that foreach involves value copying and will be slower than while, but in fact, if you only read the array in a loop, then foreach is very fast. This is because the copying mechanism used by PHP is "Copy by reference, copy on write", from this point of view, the efficient read operation of foreach is not difficult to understand. In addition, since foreach is not suitable for processing array write operations, we can draw a conclusion that in most cases, code in the form of foreach($arrayas$key=>$value) should be replaced by while(list($key )=each($array)).

The speed difference produced by these techniques may not be obvious in small projects, but in large projects like frameworks, a single request will often involve hundreds, thousands, or tens of thousands of array loop operations. The difference is will be significantly enlarged.

Small examples of PHP arrays and loops, including two-dimensional arrays, Yang Hui triangles, obtaining parameters, and summing rectangular diagonals. Friends in need are recommended to take a look

Copy code The code is as follows:

//1. Use a loop statement to output any two dimensional array.
$arr=array(
array(1,2,3,4),
array(5,6,7,8),
array(9,10,11,12),
array(13,14,15,16)
);
foreach ($arr as $var){
foreach ($var as $val1){
echo "$val1 " ;
}
echo "
";
}
echo "
";
///2. Use loop control statements to output Yang Hui triangle.
function yanghuisanjiao($line){
$sc[][]=array();
$sc[0][0]=1;
for($i=1;$i< ;=$line;$i++){
for($j=0;$j<=$i;$j++){
if($j==0 or $i==$j){
$sc[$i][$j]=1; //Set the first and last numbers of each row to 1
}else{
$sc[$i][$j ]=$sc[$i-1][$j-1]+$sc[$i-1][$j];
}
}
}
foreach ($sc as $value){
foreach($value as $v1){
echo $v1.' ';
}
echo '

';
}
}
yanghuisanjiao(5);
echo "
";
///3. Use loops and predefined variables to obtain multiple parameters. The number of parameters is undetermined.
function avg(){
$ags=func_get_args();
$sum=0;
foreach ($ags as $v){
$sum+=$v;
}
return 'The average is:'.$sum/func_num_args();
}
echo avg(1,2,3,4,5,6,7);

///4. Use a loop to output a two-dimensional array and find the sum of the diagonal elements of the rectangle.
function getSum($theCount){
$b=0;
echo '

';
echo "";
for($i=1 ;$i<=$theCount;$i++){
echo "";
for($j=1;$j<=$theCount;$j++){
if($ j==$i || $theCount+1-$i==$j){
echo "";
$ b=$b+$j;
if($j==$i && $theCount+1-$i==$j){
$b=$b+$j;
}
}
else{
echo "";
}
}
echo "";
}
echo "
$j$j
";
echo "The sum of the diagonal elements is:".$b;
}
getSum(6);
?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/326468.htmlTechArticlePHP arrays are quite commonly used, so I studied the PHP array loop operation and shared it with you here. Here's a look, hope it's useful to everyone. PHP is basically an array language...
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 Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template