How to make sure the value is reset in a 'foreach' loop in PHP? -


i writing simple php page , few foreach loops used.

here scripts:

$arrs = array("a", "b", "c");  foreach ($arrs $arr) {     if(substr($arr,0,1)=="b") {         echo "this b";     }      } // end of first 'foreach' loop, , didn't use 'ifelse' here. 

and when foreach ends, wrote foreach loop in values in foreach loop same in previous foreach.

foreach ($arrs $arr) {     if(substr($arr,0,1)=="c") {         echo "this c";     }      } 

i not sure if practice have 2 foreach loops same values , keys.

will values overwritten in first foreach loop?

it's ok until start using references , can strange behaviour, example:

<?php $array = array(1,2,3,4); //notice reference & foreach ($array & $item) {   }  $array2 = array(10, 11, 12, 13); foreach ($array2 $item) {   }  print_r($array); 

outputs this:

array (     [0] => 1     [1] => 2     [2] => 3     [3] => 13 ) 

because first foreach leaves $item reference $array[3], $array[3] sequentially set each value in $array2.

you can solve doing unset($item) after first foreach, remove reference, this isn't issue in case, not using references foreach.


Comments

Popular posts from this blog

javascript - Enclosure Memory Copies -

php - Replacing tags in braces, even nested tags, with regex -