Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用foreach循环和引用时,如何停止指向引用的最后一个成员?_Php_Reference - Fatal编程技术网

Php 使用foreach循环和引用时,如何停止指向引用的最后一个成员?

Php 使用foreach循环和引用时,如何停止指向引用的最后一个成员?,php,reference,Php,Reference,考虑一下这个代码 $a = range(1, 5); foreach($a as &$b) { } var_dump($a); 输出是 array(5) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> &int(5) } 查看最后一个成员的和?我怎样才能停止呢?你可以取消设置($b) 您应该unset()来避免这种情况 $a =

考虑一下这个代码

$a = range(1, 5);

foreach($a as &$b) { }

var_dump($a);
输出是

array(5) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  &int(5)
}

查看最后一个成员的
?我怎样才能停止呢?

你可以
取消设置($b)

您应该
unset()
来避免这种情况

$a = range(1, 5);

foreach($a as &$b) { }

$b = 10;

var_dump($a);
…输出

array(5) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  &int(10)
}

array(5) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  &int(10)
}