很抱歉,这只是为了我的理解!
我刚开始学习php。
我将不同方法中的一些值添加到数组中,这是一个奇怪的问题,我无法在网上找到答案。
(对不起,如果它是愚蠢的,我只是想知道它为什么这样做。)
我的PHP / HTML代码:
<?php
$test[] = 1;
$test += array('2','3','4');
$test += array('4in4',5 => '5');
$test[] = 6;
$test[] += 7;
?>
<!doctype html>
<html lang="fr-CA" >
<head>
<meta charset="UTF-8">
<body>
<?php echo '<h1>Test de Tableau</h1>','<br>',
'$test[0] = ',$test[0],'<br>',
'$test[1] = ',$test[1],'<br>',
'$test[2] = ',$test[2],'<br>',
'$test[3] = ',$test[3],'<br>',
'$test[4] = ',$test[4],'<br>',
'$test[5] = ',$test[5],'<br>',
'$test[6] = ',$test[6],'<br>',
'$test[7] = ',$test[7],'<br>',
'<h4>count = ',count($test),'/8</h4>'; ?>
</body>
这是结果:
Test de Tableau
$ test [0] = 1
$ test [1] = 3
$ test [2] = 4
$ test [3] =
注意:未定义的偏移量:第26行的/opt/lampp/htdocs/mhx/test/index.php中的3
$ test [4] =
注意:未定义的偏移量:第27行的/opt/lampp/htdocs/mhx/test/index.php中的4
$ test [5] = 5
$ test [6] = 6
$ test [7] = 7
count = 6/8
谢谢回答!
MHX
答案 0 :(得分:2)
这篇文章可能已经回答过:+ operator for array in PHP?
基本上,这里发生了什么。你初始化了你的数组:
$test = [0 => 1];
接下来,您要为其添加新数组:
[0 => '2', 1 => '3', 2 => '4'];
第一个索引已经存在,所以跳过它给我们:
$test = [0 => 1, 1 => '3', 2 => '4'];
现在,您正在添加另一个数组:
[0 => '4in4', 5 => '5'];
同样,第一个索引存在,所以我们得到:
$test = [0 => 1, 1 => '3', 2 => '4', 5 => '5'];
到目前为止,您可以看到偏移3和4缺失,因此您的注意事项如上所述。此外,内部指针现在为6,因为最后添加的元素是5。
然后你添加6,然后是7,给我们最后一个数组:
$test = [0 => 1, 1 => '3', 2 => '4', 5 => '5', 6 => 6, 7 => 7];
我希望这会有所帮助。
编辑:在向数组中添加其他元素时,您可以这样写:
$test[] = 1;
如果您需要合并两个数组,请查看array_merge():
$test = array_merge($test, [1, 2, 3]);
干杯!