我有一个对象(存储为$VIDEO)如下所示

object(stdClass)#19 (3) {
  [0]=>
  object(stdClass)#20 (22) {
    ["id"]=>
    string(1) "123"

  etc...

我只想获得第一个元素的ID,而不必遍历它.

如果它是一个数组,我会这样做:

$videos[0]['id']

它过go 的工作方式是这样的:

$videos[0]->id

但现在我得到一个错误"不能使用stdClass类型的对象作为数组…"在上面显示的线路上.可能是因为PHP升级.

那么,我怎样才能在不循环的情况下获得第一个ID呢?可能吗?

谢谢!

推荐答案

Update PHP 7.4

自PHP 7.4起,不建议使用大括号访问语法

Update 2019

继续讨论OOPS的最佳实践,@MrTrick的答案必须是

只需使用{}迭代它

例子:

$videos{0}->id

这样你的对象就不会被 destruct ,你可以很容易地遍历对象.

对于PHP 5.6和更低版本,请使用此

$videos{0}['id']

Php相关问答推荐

有条件的运费率基于购物车小计与WooPayments货币转换

自定义通知在Woocommerce我的帐户自定义端点页面上不起作用

添加并显示单价字段到WooCommerce产品变化

来自POST请求的(无效)json字符串中的奇怪字符(编码问题)

免费送货柜台,考虑到折扣码

在PHP中处理Linux输入事件(/dev/input/Event*)

模式 bootstrap 未显示

即使在WooCommerce购物车中添加了两次产品,也要将所有项目设置为空白行

如何使用 PHP 创建简化的 twig 替换?

Filament PHP v3:在禁用的表单字段上,ID 不会写入数据库

使用 Spomky Labs JWT 框架中的 verifyWithKey 验证 id_token JWT 的签名需要 30 秒以上

根据所选付款方式启用/禁用 WooCommerce 所需的 checkout 字段

如何在 laravel 中的同一个 slug 上显示不同的内容?

批量作业(job)提交错误无法处理所有文档,uris 似乎正确?

仅允许减少 WooCommerce 中已完成订单的库存数量

使用来自 PHP 表单的数据更新 xml 命名空间

我试图在我的视图上显示从数据库中获取的数据,但我无法显示它.拉维尔 10.x /

正则表达式抓取递归括号的内容

Laravel - 关联与设置观察者事件的 ID

php中的端口扫描器