Php 注意:未定义的偏移量:0

Php 注意:未定义的偏移量:0,php,Php,我试图从数组中获取一个值,但是当我使用$array[0]时,我得到一个PHP通知“Undefined Offset:0”。但是,当我使用$array['id']时(应该与使用'0'相同,因为'id'是数组中的第一个键),我能够获得值。我做了一个打印,然后输出: Array ( [id] => 1 [username] => test ) 难道我不能使用索引来获取密钥吗?我相信它在早些时候起作用了,但我不知道我能做些什么让它停止工作。有什么想法吗?没有,你不

我试图从数组中获取一个值,但是当我使用
$array[0]
时,我得到一个PHP通知“Undefined Offset:0”。但是,当我使用
$array['id']
时(应该与使用'0'相同,因为'id'是数组中的第一个键),我能够获得值。我做了一个打印,然后输出:

Array ( 
     [id] => 1 
     [username] => test 
)

难道我不能使用索引来获取密钥吗?我相信它在早些时候起作用了,但我不知道我能做些什么让它停止工作。有什么想法吗?

没有,你不应该这样做

您可能会考虑从以下内容获取数组:默认情况下,它允许您同时使用数字索引和字符串索引来访问列,但之所以可以这样做,是因为数组同时包含这两种索引


您也可以使用从数组中提取值来将索引转换为数字索引,但实际上这不是一回事。

$array['id']
$array[0]
不同。这种混淆可能与术语数组有关。php的数组不是您在另一种语言中所称的数组,它们是映射或字典


(哦,即使不是,php数组、映射或字典中元素的顺序也取决于实现,因此,虽然您可以使用
$tmp=array\u values($array);echo$tmp[0];
,但php可以随意移动数组)。

谢谢,这就是我所想的