PHP 5.4疯狂吗? - php

我不确定该怎么说。

请看下面的例子。

<?
$arr = array('first','second','third', 'fourth');
foreach ($arr as $k=>&$n) {
    $n = $n;
}
var_dump($arr);
>?

退货

array(4) {
  [0]=>
  string(5) "first"
  [1]=>
  string(6) "second"
  [2]=>
  string(5) "third"
  [3]=>
  &string(6) "fourth"
}

完全有道理,为什么会有什么变化?好吧,添加第二个循环甚至什么也没做是我迷路的地方。

<?
$arr = array('first','second','third', 'fourth');
foreach ($arr as $k=>&$n) {
    $n = $n;
}
foreach ($arr as $k=>$n) {
;
}
var_dump($arr);
?>

退货

array(4) {
  [0]=>
  string(5) "first"
  [1]=>
  string(6) "second"
  [2]=>
  string(5) "third"
  [3]=>
  &string(5) "third"
}

数组的最后一个值与倒数第二个相同。为什么?

参考方案

您正在将$n转换为参考:

foreach ($arr as $k=>&$n) {
                     ^----

像这样“引用” PHP变量后,它将保持引用,因此在您的下一个循环中:

foreach ($arr as $k=>$n) {

$n仍将是您在第一个循环中迭代的LAST项目的引用。

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…

PHP-将日期插入日期时间字段 - php

我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数

PHP:将数组值加在一起 - php

我相信这比标题听起来要难一些,但我可能完全错了。我有一个像这样的数组:[["londrina",15],["cascavel",34],["londrina",23],['tiradentes',34],['tiradentes',21]] 我希望能够采用通用…

PHP strtotime困境 - php

有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00�…

PHP-全局变量的性能和内存问题 - php

假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…