gpt4 book ai didi

php - 为什么我的变量通过引用传递?

转载 作者:行者123 更新时间:2023-12-05 09:22:27 24 4
gpt4 key购买 nike

我创建了一个基于第一个日期时间创建两个日期时间的函数:

// initial datetime (for test)
$dt = new \Datetime;
$dt->setDate(2012, 9, 5);

// splitting into 2 different datetimes
$dates = $this->defineLimitsByDate($dt);

// $dates[0] = 2011-07-01
// $dates[1] = 2012-09-01

目前,一切正常。现在我将这些日期时间传递给另一个函数,在该函数中我使用 while 循环递增第一个日期,直到她到达第二个日期:

// now I use the 2 datetimes into a function...
$dateKeys = $this->generateDateKeys($dates[0], $dates[1]);

// and the function seems to modify them outside itself !
// $dates[0] = 2012-10-01
// $dates[1] = 2012-09-01

我的函数 generateDateKeys 中的 while 循环似乎没有在本地修改参数。它在函数外更改 $dates 的值。但我从不使用引用传递。

谁能给我讲讲?

最佳答案

PHP 默认通过引用传递所有对象。

更多信息在这里:http://php.net/manual/en/language.oop5.references.php

关于php - 为什么我的变量通过引用传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26257332/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com