我们不能在PHP中使用键值的数组上使用数字索引吗?

Moh*_*eri -3 php arrays indexing key-value offset

我使用键值对在PHP中定义了一个数组,如下所示:

$myArray = (
    'item1' => 'val1',
    'item2' => 'val2',
    'item3' => 'val3'
);
Run Code Online (Sandbox Code Playgroud)

但每当我需要使用数字索引使用此数组中的一个存储值时$myArray[1],我得到以下错误:

注意:未定义的偏移量:1 ...

以前我虽然在定义数组成员时总是会创建数字索引,但现在这个错误告诉我我错了.

我的问题是:我们不能在PHP中使用键值对创建的数组上使用数字索引吗?

jsz*_*ody 7

不,你不能通过数字索引访问关联数组的值.但是你可以先通过你的阵列array_values来获得你想要的东西:

echo array_values($myArray)[1];
Run Code Online (Sandbox Code Playgroud)

http://php.net/array_values

array_values()返回数组中的所有值,并以数字方式索引数组.