php循环遍历具有重复索引的数组
我正在尝试循环遍历具有重复索引的数组。但它只打印了3次,不是所有的。我想打印数组中的所有值,这可能吗 以下是我的PHP代码:php循环遍历具有重复索引的数组,php,arrays,indexing,duplicates,Php,Arrays,Indexing,Duplicates,我正在尝试循环遍历具有重复索引的数组。但它只打印了3次,不是所有的。我想打印数组中的所有值,这可能吗 以下是我的PHP代码: $data['Video'][0]['name']='a'; $data['Video'][1]['name']='b'; $data['Video'][1]['name']='c'; $data['Video'][3]['name']='d'; $data['Video'][3]['name']='e'; foreach ($data['Video'] as $vid
$data['Video'][0]['name']='a';
$data['Video'][1]['name']='b';
$data['Video'][1]['name']='c';
$data['Video'][3]['name']='d';
$data['Video'][3]['name']='e';
foreach ($data['Video'] as $video) {
print_r($video);
}
下面是该代码的输出:
Array
(
[name] => a
)
Array
(
[name] => c
)
Array
(
[name] => e
)
嗯,重复的索引相互抵消。所以这是预期的行为。因此,当您在代码中设置此选项时:
$data['Video'][0]['name']='a';
$data['Video'][1]['name']='b';
$data['Video'][1]['name']='c';
$data['Video'][3]['name']='d';
$data['Video'][3]['name']='e';
它的真正含义是:
$data['Video'][0]['name']='a';
$data['Video'][1]['name']='c';
$data['Video'][3]['name']='e';
分配给钥匙
1
和3
的较新数据将覆盖以前的数据。请避免重复输入钥匙,否则请尝试此操作
$data['Video'][]['name']='a';
$data['Video'][]['name']='b';
$data['Video'][]['name']='c';
$data['Video'][]['name']='d';
$data['Video'][]['name']='e';
foreach ($data['Video'] as $video) {
print_r($video);
}
您正在更改数组索引3和1的值两次。因此,$data['Video']中总共只有3个数组,它将覆盖该索引处的值…很好的解释+1,但它们不会“否定”在我看来更好的定义应该是“覆盖”或“覆盖”