Get first element in PHP stdObject(获取 PHP stdObject 中的第一个元素)
问题描述
我有一个看起来像这样的对象(存储为 $videos)
I have an object (stored as $videos) that looks like this
object(stdClass)#19 (3) {
[0]=>
object(stdClass)#20 (22) {
["id"]=>
string(1) "123"
etc...
我只想获取第一个元素的 ID,而不必遍历它.
I want to get the ID of just that first element, without having to loop over it.
如果它是一个数组,我会这样做:
If it were an array, I would do this:
$videos[0]['id']
它曾经是这样工作的:
$videos[0]->id
但现在我在上面显示的行上收到错误无法使用 stdClass 类型的对象作为数组...".可能是由于 PHP 升级.
But now I get an error "Cannot use object of type stdClass as array..." on the line shown above. Possibly due to a PHP upgrade.
那么如何在不循环的情况下获得第一个 ID?可能吗?
So how do I get to that first ID without looping? Is it possible?
谢谢!
推荐答案
更新 PHP 7.4
大括号访问语法自 PHP 7.4 起已弃用
Curly brace access syntax is deprecated since PHP 7.4
2019 年更新
继续讨论 OOPS 的最佳实践,@MrTrick 的答案必须是标记为正确,虽然我的回答提供了一个被黑的解决方案,但它不是最好的方法.
Moving on to the best practices of OOPS, @MrTrick's answer must be marked as correct, although my answer provides a hacked solution its not the best method.
使用 {} 简单地迭代它
Simply iterate its using {}
示例:
$videos{0}->id
这样您的对象就不会被破坏,您可以轻松地遍历对象.
This way your object is not destroyed and you can easily iterate through object.
对于 PHP 5.6 及以下版本使用此
For PHP 5.6 and below use this
$videos{0}['id']
这篇关于获取 PHP stdObject 中的第一个元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:获取 PHP stdObject 中的第一个元素
基础教程推荐
- 如何在 Symfony 和 Doctrine 中实现多对多和一对多? 2022-01-01
- 找不到类“AppHttpControllersDB",我也无法使用新模型 2022-01-01
- 在 yii2 中迁移时出现异常“找不到驱动程序" 2022-01-01
- HTTP 与 FTP 上传 2021-01-01
- Doctrine 2 - 在多对多关系中记录更改 2022-01-01
- PHP 守护进程/worker 环境 2022-01-01
- 如何在 XAMPP 上启用 mysqli? 2021-01-01
- 使用 PDO 转义列名 2021-01-01
- 在 CakePHP 2.0 中使用 Html Helper 时未定义的变量 2021-01-01
- phpmyadmin 错误“#1062 - 密钥 1 的重复条目‘1’" 2022-01-01