(PHP) 如果我尝试使用 sizeof 方法获取未定义的变量大小会发生什么?
喜欢:
<?
print_r(sizeof($undefined_variable));
我可以这样做吗?有什么价值?
在我的操场上总是遇到错误,但是当我尝试这段代码时:
<?
print_r(sizeof($undefined_variable));
exit();
错误后我很好奇为什么我得到一个零值。对不起,我的英语不好
(PHP) 如果我尝试使用 sizeof 方法获取未定义的变量大小会发生什么?
喜欢:
<?
print_r(sizeof($undefined_variable));
我可以这样做吗?有什么价值?
在我的操场上总是遇到错误,但是当我尝试这段代码时:
<?
print_r(sizeof($undefined_variable));
exit();
错误后我很好奇为什么我得到一个零值。对不起,我的英语不好
sizeof
是 的确切别名count
。如果对象与未定义变量不导致错误count()
的接口接口,则只能返回对象中的项目数。Countable
然而,输出 0 的原因是 print_r 在发生错误时输出 0。
例如尝试:
print_r(4 + hello);
它仍然输出 0。该错误不是致命的,因此程序继续执行。
要回答您的第二个问题,如果您尝试以下代码:
for ($i=0; $i<sizeof($undefined_variable); $i++) {
echo $i;
}
echo "Hi";
只有“嗨”会得到输出。该错误中止整个 for 循环。
sizeof() 是一个数组函数,返回数组的大小,因此您将收到有关变量(未贴花)的 php 警告,并且结果为 0。
来自函数的手册 - count():
注意 count() 可能会为未设置的变量返回 0,但它也可能为已使用空数组初始化的变量返回 0。使用 isset() 测试是否设置了变量。
sizeof 是 count 的别名。
见: http: //php.net/manual/en/function.count.php
因此:
<?php
print_r(sizeof($undefined_variable));
将输出:
0
Assizeof($undefined_variable)
评估为0
,print_r(0)
结果为0
。