Can';在PHP中,我们对具有键值的数组使用数字索引吗?
我在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中使用键值对创建的数组上使用
$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取决于你需要什么。如果你只需要一个值,这会更容易。