【问题标题】:PHP cannot access object in arrayPHP 无法访问数组中的对象
【发布时间】:2010-09-02 14:01:18
【问题描述】:

在我的应用程序中,我返回了一个对象数组,我试图访问数组中的对象,就像 $array[0]->name 一样,但由于某种原因它不起作用,

我试图像这样访问它 - $var = $array[0]; $var->name 它显示了这个错误 > Trying to get property of non-object

这里发生了什么?为什么我无法访问该对象?我怎样才能访问它? 另外,如果我只得到一个多维数组而不是对象数组会更好吗?

var_dump://

array(2) {
  [0]=>
  object(stdClass)#16 (9) {
    ["id"]=>
    string(1) "1"
    ["name"]=>
    string(27) "нямам си и идея"
    ["description"]=>
    string(19) "емиииии....."
    ["price"]=>
    string(3) "823"
    ["lang"]=>
    string(2) "bg"
    ["category"]=>
    string(1) "0"
    ["slug"]=>
    string(7) "shalala"
    ["status"]=>
    string(1) "1"
    ["sid"]=>
    string(1) "1"
  }
  [1]=>
  object(stdClass)#17 (9) {
    ["id"]=>
    string(1) "2"
    ["name"]=>
    string(19) "no tyore idea what "
    ["description"]=>
    string(22) "are you talking to me "
    ["price"]=>
    string(3) "823"
    ["lang"]=>
    string(2) "en"
    ["category"]=>
    string(1) "0"
    ["slug"]=>
    string(7) "shalala"
    ["status"]=>
    string(1) "1"
    ["sid"]=>
    string(1) "1"
  }
}

$array[0] 的变量转储

object(stdClass)#16 (9) {
  ["id"]=>
  string(1) "1"
  ["name"]=>
  string(27) "нямам си и идея"
  ["description"]=>
  string(19) "емиииии....."
  ["price"]=>
  string(3) "823"
  ["lang"]=>
  string(2) "bg"
  ["category"]=>
  string(1) "0"
  ["slug"]=>
  string(7) "shalala"
  ["status"]=>
  string(1) "1"
  ["sid"]=>
  string(1) "1"
}

[已解决] = 框架将我指向错误的代码行,错误在代码下方 10 行,我没有看到它:(

【问题讨论】:

  • 错误消息显示$array[0] 不是对象。在上面使用var_dump() 看看里面有什么。
  • 你能粘贴代码的上下文吗?好像哪里有错别字。
  • Grodon ,这是 $array 的输出,稍后添加 $array[0]
  • 很奇怪。 $array[0]->name 在这种情况下应该可以工作。使用 Xdebug 或 Zend_Debugger 之类的调试器来单步调试代码,看看哪里出错了。
  • 运行这段代码会发生什么:$a = new StdClass; $a->name = 'foo'; $array = array($a); echo $array[0]->name;

标签: php arrays object


【解决方案1】:

问题出在其他地方。

$array[0] 不是一个对象,这就是它说 Trying to get property of non-object 的原因。

【讨论】:

  • 没有解决问题,因此应该是评论
  • @Gordon,好的,下次记得。
猜你喜欢
  • 2016-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-13
  • 2019-06-13
  • 1970-01-01
  • 2020-08-14
  • 1970-01-01
相关资源
最近更新 更多