在编程语言里面运算符的使用是编程的基本功。这边详细介绍下在PHP中运算符+
的使用。
简单运算中的使用
示例A:
<?php
$a = 3;
$a += 5; //等价于 $a = $a + 5;
echo $a;
输出:8
数组中的使用
自 5.4 起可以使用短数组定义语法,用 [] 替代 array()。5.3以前只能用array() 申明
示例B:
<?php
$arr = [1,3,5,7,8];
$results = [];
foreach ($arr as $v) {
$results += $v;
}
var_dump($results);
结果:
Fatal error: Uncaught Error: Unsupported operand types in
示例C:
<?php
$arr = [[1],[3],[5],[7],[8]];
$results = [];
foreach ($arr as $v) {
$results += $v;
}
echo "<pre>";
print_r($results);
echo "<pre>";
结果输出:
Array
(
[0] => 1
)
示例D:
<?php
$arr = [[10],[3],[5],[7],[8]];
$results = [];
foreach ($arr as $v) {
$results += $v;
}
echo "<pre>";
print_r($results);
echo "<pre>";
结果输出:
Array
(
[0] => 10
)
示例E:
<?php
$arr = [['a'=>10],['b'=>3],[5],[7],['d'=>8]];
$results = [];
foreach ($arr as $v) {
$results += $v;
}
echo "<pre>";
print_r($results);
echo "<pre>";
结果输出:
Array
(
[a] => 10
[b] => 3
[0] => 5
[d] => 8
)
由以上结果我们可以看出+
在数组中的使用有下面几点需要__注意__:
1. +左右两侧必须都是数组类型的(由示例B和示例C可以看出)
2. 数组被添加到新的数组中,以值一维值的形式存在,不是二维数组。
3. 被追加的数组(`$results`)中如果已存在追加(foreach 中的$v)的数组的索引,则不进行任何操作(由示例C和示例D可以看出)。
如果不存在追加(foreach 中的$v)的数组的索引,则会追加到被追加到数组中(由示例D和示例E可以看出),并且保留原索引。