У меня есть класс с несколькими свойствами, которые являются необязательными, но могут принимать пустое или нулевое значение. При преобразовании класса в объект JSON требуется, чтобы он возвращал только те свойства класса, которые установлены.
Я не могу отфильтровать окончательный результат, так как значение может быть нулевым или пустым, что является допустимой записью. Короче говоря, я хочу только те свойства, для которых были вызваны сеттер-функции.
<?php
class MyClass{
public $property1;
public $property2;
public $property3;
public $property4;
public $property5;
public function setProperty1($property1){
$this->property1 = $property1;
return $this;
}
public function setProperty2($property2){
$this->property2 = $property2;
return $this;
}
public function setProperty3($property3){
$this->property3 = $property3;
return $this;
}
public function setProperty4($property4){
$this->property4 = $property4;
return $this;
}
public function setProperty5($property5){
$this->property5 = $property5;
return $this;
}
}
$obj = new MyClass();
$obj->setProperty1("p1");
$obj->setProperty2("");
$obj->setProperty3(null);
echo json_encode($obj);
Выход: {"property1":"p1","property2":"","property3":null,"property4":null,"property5":null}
Ожидаемая:
{"property1":"p1","property2":"","property3":null}