我正在使用php并将json格式解码为数组,如以下代码
$sub_cats_ids=array();
$sub_cats_ids=json_decode($_POST['sub_cats']);
我想回显数组中的第一项以测试它是否正常工作,如以下代码所示
echo current($sub_cats_ids);
但我收到此错误消息
类 stdClass 的对象无法转换为字符串
我也尝试了这段代码
echo $sub_cats_ids[0];
但我收到相同的错误消息我如何解决这个问题
错误消息非常清楚,不是吗?数组中的当前元素是一个对象,而不是一个字符串。不能"回显"对象,而只能"回显"字符串。因此,php 尝试将对象转换为字符串但失败了,因为没有为通用标准类的对象定义这样的转换。
您需要使用函数而不是 echo
命令来输出对象,或者您需要将该对象转换为可以输出的字符串:
<?php
//...
var_export(current($sub_cats_ids));
或者echo
对象:
<?php
//...
echo var_export(current($sub_cats_ids), true);
更新:
您在下面的评论表明,与您在问题中编写的内容不同,您不想输出对象本身,而只想输出该对象的特定属性。这意味着您需要访问对象中的该属性,php 无法以某种方式神奇地猜测您想要这样做。
无需您发布其他信息,我在这里所能做的就是猜测您实际需要做什么:
<?php
//...
$object = current($sub_cats_ids);
echo $object->IT;