在 PHP 中,我有一个 可数对象。根据文档,PHP 的
count
函数将返回数组中的项目数或 Countable 对象中的数字。
我的目标是以最干净的方式从可数对象中获取第一项。
foreach($object as $ob){ $first = $ob; break; }
这可行,但很可怕。
$object[0]
抱怨 $object
不是一个数组(这是正确的,它不是一个数组,它是一个对象)。
(array)$object[0]
感觉同样糟糕,但也不起作用。只需返回null
。
获得第一个物品最干净的方法是什么?
没有可靠的方法从
Countable
对象“获取第一个项目”,因为可数不一定有项目。
相反,请使用
Traversable
(以及具有项目的对象)或 iterable
(包含可以迭代的任何内容的伪类型,包括数组)。在这种情况下,您原来的解决方案是正确的(并且并不可怕):
function first(iterable $iterable) {
foreach ($iterable as $item) {
return $item;
}
}
您可以简单地使用:
$object{0}