【发布时间】:2019-05-21 11:30:42
【问题描述】:
我正在尝试过滤掉对象中的空条目。
例如这样的对象:
stdClass Object
(
[maten0] => stdClass Object
(
[XXS] =>
[XS] =>
[S] => 10
[M] => 10
[L] =>
[XL] =>
[XXL] =>
)
)
期望的输出是:
stdClass Object
(
[maten0] => stdClass Object
(
[S] => 10
[M] => 10
)
)
我用 json 创建对象。像这样:
$kuubobject = json_decode($artikel['aantalkuub']);
我发现了如何使用数组执行此操作,但以下内容不适用于对象:
$filteredobject = array_filter($kuubobject, 'strleng');
这给了我错误:
array_filter() expects parameter 1 to be array, object given
如何对对象执行此操作?
在标记重复的问题之后,我尝试了以下操作:
$object = (object) array_filter((array) $kuubobject);
echo '<pre>';
print_r($object);
echo '</pre>';
但我得到与上面相同的输出。
【问题讨论】:
-
为什么不用
$kuubobject = json_decode($artikel['aantalkuub'], true);然后你就可以使用array_filter