• 1400/04/21

علامت & و foreach و unset :

این مثال در سایت php.net هست  و قسمت  foreach .  میخواستم  بدونم  علامت  & کنار $ گذاشته میشه  یعنی چه . و چرا value ها را باید unset   کرد . 

<?php
$arr = array(1234);
foreach ($arr as &$value) {
    $value $value 2;
}
// $arr is now array(2, 4, 6, 8)
unset($value); // break the reference with the last element
?>

 

مثال دوم

 

 

<?php
$arr = array(1234);
foreach ($arr as &$value) {
    $value $value 2;
}
// $arr is now array(2, 4, 6, 8)

// without an unset($value), $value is still a reference to the last item: $arr[3]

foreach ($arr as $key => $value) {
    // $arr[3] will be updated with each value from $arr...
    echo "{$key} => {$value} ";
    print_r($arr);
}
// ...until ultimately the second-to-last value is copied onto the last value

// output:
// 0 => 2 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 2 )
// 1 => 4 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 4 )
// 2 => 6 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 6 )
// 3 => 6 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 6 )
?>

  • 1400/04/22
  • ساعت 14:45

با سلام خدمت شما همراه عزیز

 

کد هارو در بخش کد این ادیتور paste کنید تا خوانا باشه

 

در هر بخش توضیح کد رو نوشته خود سایت


  • 1400/04/23
  • ساعت 10:41

$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
   $value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)
unset($value); // break the reference with the last element
?>


<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
   $value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)

// without an unset($value), $value is still a reference to the last item: $arr[3]

foreach ($arr as $key => $value) {
   // $arr[3] will be updated with each value from $arr...
   echo "{$key} => {$value} ";
   print_r($arr);
}
// ...until ultimately the second-to-last value is copied onto the last value

// output:
// 0 => 2 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 2 )
// 1 => 4 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 4 )
// 2 => 6 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 6 )
// 3 => 6 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 6 )
?>

 

 


  • 1400/04/23
  • ساعت 19:24

در مورد سوال اول لینک زیر

https://stackoverflow.com/questions/8769288/php-ampersand-before-the-variable-in-foreach-loop

 

سوال دومتون هم خودش پاسخ داده

 

// without an unset($value), $value is still a reference to the last item: $arr[3]

logo-samandehi