【发布时间】:2015-09-11 08:17:05
【问题描述】:
我遇到了一个非常奇怪的问题。问题是,我无法从变量 $conDat["_RenewalDate1"] 访问任何内容,除非我预先使用它的 var_dump。
使用此代码:
var_dump($conDat["_RenewalDate1"]);
$test = $conDat["_RenewalDate1"] -> date;
var_dump($test);
我得到了想要的输出。
但没有这一行:
var_dump($conDat["_RenewalDate1"]);
它只是返回 NULL。
这个奇怪问题的原因可能是什么?
附加信息:
这段代码:
echo "first var_dump: <br />";
var_dump($conDat["_RenewalDate1"]);
$renewalDate1 = $conDat["_RenewalDate1"] -> date;
echo "<br />second var_dump: <br />";
var_dump($renewalDate1);
输出:
first var_dump:
object(DateTime)#47 (3) {
["date"] => string(26) "2015-10-11 00:00:00.000000"
["timezone_type"] => int(3)
["timezone"] => string(3) "UTC"
}
second var_dump:
string(26) "2015-10-11 00:00:00.000000"
还有这个:
echo "first var_dump: <br />";
// var_dump($conDat["_RenewalDate1"]);
$renewalDate1 = $conDat["_RenewalDate1"] -> date;
echo "<br />second var_dump: <br />";
var_dump($renewalDate1);
输出:
first var_dump:
second var_dump:
NULL
【问题讨论】:
-
那么 var_dump 的输出是什么?
-
它必须返回一些东西,否则你将无法从 NULL 访问属性
-
所以在第一段代码中 var_dump($test) 是否返回任何内容,或者只是第二个 var_dump 返回一些内容(NULL 除外)
-
你能发一个
var_dump($conDat)吗? -
@ТарасКостюк 请编辑问题。