如何从 Countable 对象中获取第一个元素?

问题描述 投票:0回答:2

在 PHP 中,我有一个 可数对象。根据文档,PHP 的

count
函数将返回数组中的项目数或 Countable 对象中的数字。

我的目标是以最干净的方式从可数对象中获取第一项。

foreach($object as $ob){ $first = $ob; break; }

这可行,但很可怕。

$object[0]
抱怨
$object
不是一个数组(这是正确的,它不是一个数组,它是一个对象)。

(array)$object[0]
感觉同样糟糕,但也不起作用。只需返回
null

获得第一个物品最干净的方法是什么?

php arrays object casting
2个回答
0
投票

没有可靠的方法从

Countable
对象“获取第一个项目”,因为可数不一定项目。

相反,请使用

Traversable
(以及具有项目的对象)或
iterable
(包含可以迭代的任何内容的伪类型,包括数组)。在这种情况下,您原来的解决方案是正确的(并且并不可怕):

function first(iterable $iterable) {
  foreach ($iterable as $item) {
    return $item;
  }
}

-1
投票

您可以简单地使用:

$object{0}
© www.soinside.com 2019 - 2024. All rights reserved.