我是一個班級。我嘗試設置一個對象成員:php空物件成員
$this->list = "hello";
print $this->list;
它返回「hello」;
但是,empty($this->list))
始終返回true。
但是,對於非對象成員$tmp = "hello"
,empty($tmp)
返回false。
爲什麼empty()
不能用於對象成員?
更新: empty()受我的代碼框架的影響。這就是爲什麼它不能正常工作。
我是一個班級。我嘗試設置一個對象成員:php空物件成員
$this->list = "hello";
print $this->list;
它返回「hello」;
但是,empty($this->list))
始終返回true。
但是,對於非對象成員$tmp = "hello"
,empty($tmp)
返回false。
爲什麼empty()
不能用於對象成員?
更新: empty()受我的代碼框架的影響。這就是爲什麼它不能正常工作。
<?php
class Foo
{
var $bar;
function Bar()
{
$this->bar = 'hello';
echo "In class: " . (empty($this->bar) ? 'empty' : 'populated') . "\r\n";
}
}
$foo = new Foo();
$foo->Bar();
echo "Out of class: " . (empty($foo->bar) ? 'empty' : 'populated');
輸出:
在類:填充
淘汰類:填充
不知道what you mean。也許提供更多的代碼?此外,每empty()
說明書中,以下的值被認爲是空:
此外,請嘗試在對象上使用var_dump
以確認它是您所期望的。
我用var_dump($ this-> list);空($這個 - >列表);它返回字符串(5)hello true。 – chnet
@chnet:這很有趣,它有一些其他的干擾。只需通過基本測試(上圖),對於對象成員進行測試就沒有問題。 –
@chnet:你曾經發現過這個問題嗎? –
你需要提供一些代碼,你實際上是在一個類中,還是試圖通過'$ this-> list ='hello''創建一個對象?你是否收到任何錯誤訊息? – Kokos
無法重現:'$ s = new stdClass; $ s-> list ='Hello'; var_dump($ s);/* object(stdClass)#1(1){ [「list」] => string(5)「Hello」 } */ var_dump(empty($ s-> list)); /* bool(false)* /' – KingCrunch
我使用了var_dump($ this-> list)。它返回「string(5)hello」。但是空($ this-> list)仍然返回true – chnet