# 算数运算符

取反运算符 `-` 返回一个数的负值。

```php
<?php

$foo = 9.5;
$bar = -9.5;
var_dump(-$foo); // float(-9.5)
var_dump(-$bar); // float(9.5)

```

加法运算符 `+` 返回两个数相加的和。

```php
<?php

$foo = 9.5;
$bar = 4;
var_dump($foo + $bar); // float(13.5)

$foo += $bar;
var_dump($foo);        // float(13.5)

```

减法运算符 `-` 返回两个数相减的差。

```php
<?php

$foo = 9.5;
$bar = 4;
var_dump($foo - $bar); // float(5.5)

$foo -= $bar;
var_dump($foo);        // float(5.5)

```

乘法运算符 `*` 返回两个数相乘的积。

```php
<?php

$foo = 9.5;
$bar = 4;
var_dump($foo * $bar); // float(38)

$foo *= $bar;
var_dump($foo);        // float(38)

```

除法运算符 `/` 总是返回浮点数。只有在两个操作数都是整数（或字符串转换成的整数）并且正好能整除，这时它返回一个整数。

```php
<?php

$foo = 9.5;
$bar = 4;
var_dump($foo / $bar); // float(2.375)

$foo /= $bar;
var_dump($foo);        // float(2.375)

```

取模运算符 `%` 的操作数在运算之前都会转换成整数（除去小数部分）。取模运算符 `%` 的结果和被除数的符号（正负号）相同。

```php
<?php

$foo = 9.5;
$bar = 4;
var_dump($foo % $bar); // int(1)

$foo %= $bar;
var_dump($foo);        // int(1)

```

幂运算符 `**` 返回一个数指定次方的幂。

```php
<?php

$foo = 9.5;
$bar = 4;
var_dump($foo ** $bar); // float(8145.0625)

$foo **= $bar;
var_dump($foo);         // float(8145.0625)

```

