Функции PHP Magic и пустой() – странное поведение [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Функции PHP Magic и пустой() – странное поведение [дубликат]

Сообщение Anonymous »

Может кто-нибудь объяснить мне, почему пустой() в этом случае возвращает true?
Это выглядит очень странно :) и если я полностью удалю функцию __set, то она будет работать так, как я ожидаю.

Код: Выделить всё

class testData
{
protected $testData = [];

public function __construct($dane = [])
{
if (is_array($dane)) {
$this->testData = $dane;
}
}

public function __get($xKey)
{
if (array_key_exists($xKey, $this->testData)) {
return $this->testData[$xKey];
}
return null;
}

public function __set($xKey, $xValue)
{
$this->testData[$xKey] = $xValue;
}

}

$data = new testData;
$data->example = '1234';
var_dump($data->example);
var_dump($data->example == null);
var_dump(empty($data->example));
Пример выше: https://onlinephp.io/c/d7c131

Подробнее здесь: https://stackoverflow.com/questions/792 ... -behaviour
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»