PHP中数组对象的区别


Difference in array objects in PHP

我目前正在一个CakePHP项目上工作,我试图访问一些用户信息。然而,这个问题的主题与php更相关。我想知道下面两个物体(比如说first和second)有什么不同。我试图访问每个'用户名'值,我认为,对于第一个它可以访问$first['username']和第二个它是$second['User']['username']。但我不能理解这两者的区别。

最后,如果你能指出一种将第一个转换成第二个的方法,我将很高兴。

注意:下面的格式是由CakePHP中的debug()函数产生的。

array(
 'User' => array( 
  'username' => 'askdjsakl',
  'id' => '53698b89-cb34-41eb-931c-1859749dad86'
 )
)
Array
(
    [User] => Array
        (
            [username] => askdjsakl
            [id] => 53698b89-cb34-41eb-931c-1859749dad86
        )
)

这些数组是相同的。你说要访问第一个你做$first['username']第二个你做$second['User']['username']

因为它们是相同的,你的变量$first是指向内部数组。或者换句话说,等于这个:

$first = $second['User']

一旦你有了那一行,你就可以简单地做$first['username']所以…在你的脚本某处,你分配$first内部数组