一直以为PHP的变量是很灵活的,类型想怎么变换就怎么变换。
但实际上并不是这样,当一个变量被赋值为数字时,是变换不了数组的,比如:
以下是代码片段: [root@localhost shengting]# cat test.php var_dump($a); [root@localhost shengting]# php test.php Warning: Cannot use a scalar value as an array in /usr/home/shengting/test.php on line 4 |
从var_dump的结果看,不仅有Warning级的错误,赋值也没有成功。而,如果变量一开始是字符串的话,就没这回事情了:
以下是引用片段: [root@localhost shengting]# cat test.php var_dump($a); |
可以看出,赋值是成功的。
应该,这个是和存储的类型是有联系的。同样,在Shell的Bash中,所有的变量的值都是以字符串方式存储的。尽管这个特性使得bash的数据处理起来很容易,但是也使得数字运算比较困难。原因就是数字也是以字符串的形式存储的,
在Bash中,如果要对数字进行算术运算和逻辑操作,必须先转化为整数(可视为中间值),得到运算结果后再转化为字符串,以便正确的保存在Bash变量中。
Bash提供了三种方式的数字数据进行算术变量:
以下是引用片段: 1:使用let命令。 |
具体用法就不说了,哈哈。偶比较喜欢使用第二种。