在编程语言里面运算符的使用是编程的基本功。这边详细介绍下在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可以看出),并且保留原索引。