【发布时间】:2014-10-03 14:48:08
【问题描述】:
我有一个对象,当我使用 var_dump 时,我得到以下信息:
var_dump($object);
array (size=7)
'id' => int 1969
'alt' => string '' (length=0)
'title' => string 'File Name' (length=9)
'url' => string 'http://location/file.pdf' (length=24)
当我 echo $object[url] 它返回 string 'http://location/file.pdf' (length=24),但是当我 echo $object->url 我得到 null。 (这有时适用于从数组中提取值,我只是不确定在哪种情况下或哪种类型的数组)
问题是我使用具有 git 功能的托管服务提供商,当我推送我的更改时,它会检查 PHP 代码并遇到语法错误(意外的 '['),这会停止推送。
我的本地服务器使用PHP 5.4.16,主机使用5.3.2
从更广泛的角度来看,有人可以指出一个资源来解释这两种从数组中提取值的方法之间的区别吗?非常感谢!
【问题讨论】:
-
$var->foo是一个对象引用。$var[foo]是一个数组引用。虽然这种思想可以在某些语言(如 javascript)中互换使用,但在 PHP 中,数组和对象是完全不同的两件事。