Can';在PHP中,我们对具有键值的数组使用数字索引吗?

Can';在PHP中,我们对具有键值的数组使用数字索引吗?,php,arrays,indexing,offset,key-value,Php,Arrays,Indexing,Offset,Key Value,我在PHP中使用键值对定义了一个数组,如下所示: $myArray = ( 'item1' => 'val1', 'item2' => 'val2', 'item3' => 'val3' ); 但是,每当我需要使用像$myArray[1]这样的数字索引来使用此数组中的一个存储值时,我会得到以下错误: 注意:未定义的偏移量:1 以前我认为在定义数组成员时总是创建数字索引,但现在这个错误告诉我我错了 我的问题是:我们不能在PHP中使用键值对创建的数组上使用

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

$myArray = (
    'item1' => 'val1',
    'item2' => 'val2',
    'item3' => 'val3'
);
但是,每当我需要使用像
$myArray[1]
这样的数字索引来使用此数组中的一个存储值时,我会得到以下错误:

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

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


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

不,您不能通过数字索引访问关联数组的值。但您可以首先通过
数组\ u值传递数组,以获得所需的:

echo array_values($myArray)[1];

array_values()返回数组中的所有值,并对数组进行数字索引

您可以在明确需要时使用:

$arrayKeys = array_keys($myArray);

echo $myArray[$arrayKeys[0]];
或者在一个foreach中:

foreach($myArray as $key=>$value) {
//$ key stores item1,item2,item3
//$value stores $val1, val2,val3
}

您的数组
'item3;=>中有一个错误val3'
必须是
'item3'=>'val3'
^可能只是胖手指而已。那
就在知识库的
'
旁边。你们都太缺少
数组
这个词了,比如
=array(
还有,^但是
$myArray=['item1'=>'val1','item2'=>'val2','item3'=>'val3']如果PHP>5,则
将有效。4@Fred-ii-但他使用的是圆括号,而不是方括号。你不应该在回音之前转换整个数组吗?@frosty取决于你需要什么。如果你只需要一个值,这会更容易。