gpt4 book ai didi

php - 可数对象和空

转载 作者:可可西里 更新时间:2023-11-01 13:11:25 26 4
gpt4 key购买 nike

如果你对一个没有任何元素的数组执行 empty() ,你得到 true。但是,如果您对计数为 0 的 Countable 对象执行 empty(),则会得到 false。在我看来,一个 0 计数的 Countable 应该被认为是空的。我错过了什么吗?

<?php

class Test implements Countable
{
public $count = 0;

public function count ()
{
return intval (abs ($this -> count));
}
}

$test = new Test ();

var_dump (empty ($test));
var_dump (count ($test));

$test -> count = 10;

var_dump (empty ($test));
var_dump (count ($test));

我原以为第一次调用 empty 会返回 true,但事实并非如此。

出现这种情况是否有合理的理由,或者这是一个错误?

最佳答案

来自docs :

Returns FALSE if var has a non-empty and non-zero value.

The following things are considered to be empty:

* "" (an empty string)
* 0 (0 as an integer)
* 0.0 (0 as a float)
* "0" (0 as a string)
* NULL
* FALSE
* array() (an empty array)
* var $var; (a variable declared, but without a value in a class)

我认为 $test 在你的情况下仍然被认为是一个 Object,它不在 empty 将返回为 TRUE 的列表中

关于php - 可数对象和空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10752499/

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