我有一个stdObject
,其var_dump
结果如下:
var_dump($name)
array(1) {
[0]=>
object(stdClass)#853 (2) {
["firstname"]=>
string(2) "John"
["lastname"]=>
string(8) "Smith"
}
}
我正在尝试使用$fullname
创建一个新变量$name['firstname].$name['lastname']
。它不起作用,给出错误Undefined index
然后我尝试在->
上使用$name->firstname + $name->lastname
运算符。给出错误:trying to get property of non-object
我该怎么做?
答案 0 :(得分:3)
$name[0]->firstname . $name[0]->lastname;
基本上你试图将数组作为对象访问。您可以从var_dump
看到变量包含数组。该数组包含一个具有2个属性的对象。因此$name[0]
为您提供了对象,->firstname
访问该对象的firstname
属性。
答案 1 :(得分:1)
试试这个:
$name[0]['firstname].$name[0]['lastname'];
由于$ name包含
阵列(1)
在其中。
说明: $ name是一个对象数组。因此,要访问其值,您必须使用索引以及 - >。 检查var_dump(),首先它包含一个数组,然后是对象。