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