Я уверен, что это ожидаемое поведение для array_column()
:
class myObj {
public $prop;
public function __construct(int $prop) {
$this->prop = $prop;
}
}
$objects = [
new myObj(7),
new myObj(3),
new myObj(8),
new myObj(0),
new myObj(2),
new myObj(6)
];
echo '<pre>';
print_r(array_column($objects, 'prop'));
echo '</pre>';
Возврат:
Array (
[0] => 7
[1] => 3
[2] => 8
[3] => 2
[4] => 6
)
Отсутствует 0
. Возможно, он использует empty()
внутренне..?
Почему бы ему не возвращать значения фальшивости, когда 0
и false
могут быть нормальными действительными значениями свойств объекта, а array_column()
предназначено для возврата значений.?
Какая самая лучшая работа вокруг.?