PHP是弱类型
存整数,PHP_INT_MAX获取整形最大值
PHP支持8、10、16机制的整数
<?php $num1=10; //十进制 $num2=010; //八进制(数字前面加0) $num3=0x10; //十六进制(数字前面加0x) echo $num1,‘<br>‘; //10 echo $num2,‘<br>‘; //8 echo $num3; //16
进制转换
机制 | 缩写 | 单词 |
---|---|---|
十进制 | dec | decimalist |
二进制 | bin | binary |
八进制 | oct | octonary |
十六进制 | hex | hexdecimalist |
PHP提供了进制转换函数
echo decbin(123),‘<br>‘; //十进制转二进制 echo bindec(1111011),‘<br>‘; //二进制转十进制 echo dechex(123),‘<br>‘; //十进制转十六进制 echo hexdec(‘7b‘),‘<br>‘; //十六进制转十进制 echo decoct(123); //十进制转八进制
浮点数在内存中保存的是近似值
var_dump(0.9==(1-0.1)); //bool(true) echo ‘<br>‘; var_dump(0.1==(1-0.9)); //bool(false)
如果浮点数要比较,必须确定比较的位数
var_dump(0.9==(1-0.1)); //bool(true) echo ‘<br>‘; var_dump(0.1==(1-0.9)); //bool(false) echo ‘<br>‘; var_dump(bccomp(0.1,1-0.9,5)); //比较小数点后面5位 int(0) 0表示相等
bccomp函数,见手册
提醒:如果一个整数超出了整形的范围,会自动的转成浮点型
不能使用echo 和print输出布尔型,要使用var_dump()输出
$flag=false; var_dump($flag); //bool(false)
单引号字符串是真正的字符串
双引号字符串要解析字符串中的变量
$name=‘tom‘; echo ‘我的名字叫$name‘,‘<br>‘; //我的名字叫$name echo "我的名字叫$name",‘<br>‘; //我的名字叫tom
{ }取变量值
$name=‘tom‘; echo ‘$name是我的名字‘,‘<br>‘; //$name是我的名字 echo "{$name}是我的名字",‘<br>‘; //{}表示获取变量的值(tom是我的名字) echo "${name}是我的名字",‘<br>‘; //$和{只要挨着一起就可以(tom是我的名字)
输出特殊字符
echo ‘毛主席说:\‘上课不要睡觉\‘‘,‘<br>‘; //转义字符 毛主席说:‘上课不要睡觉‘ echo ‘文件保存在c:\\‘; //文件保存在c:\
字符串定界符
1、有<<<开头,后面跟的是标识符 2、字符串定界符的结束符必须顶格写,前面不能有任何的空白字符 3、字符串定界符分为两种,heredoc(双引号),nowdoc(单引号)
1、数组
在PHP中数组有两种形式,索引数组和关联数组
索引数组:用整数做下标,默认从0开始,后面依次加一
关联数组:用字符串做下标,通过=>符号将下标和值关联起来
<?php //1、索引数组的声明 $stu=array(‘tom‘,‘berry‘,‘ketty‘); //索引数组 print_r($stu); //输出数组 Array ( [0] => tom [1] => berry [2] => ketty ) echo ‘<hr>‘; echo $stu[0],‘<br>‘; //tom echo $stu[1],‘<br>‘; //berry echo $stu[2],‘<hr>‘; //ketty ------------------------------------------ //2、关联数组 $emp=array(‘name‘=>‘李白‘,‘sex‘=>‘男‘,‘age‘=>22); print_r($emp); //Array ( [name] => 李白 [sex] => 男 [age] => 22 ) echo ‘<hr>‘; echo $emp[‘name‘],‘<br>‘; //李白 echo $emp[‘sex‘],‘<br>‘; //男 echo $emp[‘age‘]; //22
数组的下标只能是正整数和字符串-
补充;常见数组下标
$stu[true]=‘tom‘; //转成1 $stu[false]=‘berry‘; //转成0 $stu[12.9]=‘aa‘; //转成12(取整数部分) $stu[-10]=‘bb‘; //负数可以做下标 $stu[-12.3]=‘cc‘; //取负整数 $stu[‘10‘]=‘dd‘; //字符串数字转成数字 $stu[‘‘]=‘ee‘; //空字符串也可以做下标 $stu[null]=‘ff‘; //转成空字符串做下标 print_r($stu);
短数组语法,可以直接通过中括号声明数组
$stu=[‘tom‘,‘berry‘,‘ketty‘]; print_r($stu); //Array ( [0] => tom [1] => berry [2] => ketty )
在PHP7.1中可以支持数组的赋值
//两个数交换 $num1=10; $num2=20; [$num1,$num2]=[$num2,$num1]; echo $num1,‘<br>‘,$num2;
二维数组的声明
$stu=[ [‘name‘=>‘tom‘,‘sex‘=>‘男‘,‘age‘=>22], [‘name‘=>‘berry‘,‘sex‘=>‘女‘,‘age‘=>23] ]; echo ‘<pre>‘; print_r($stu); //运行结果 Array ( [0] => Array ( [name] => tom [sex] => 男 [age] => 22 ) [1] => Array ( [name] => berry [sex] => 女 [age] => 23 ) )
字符串也可以通过数组的方式去调用
echo ‘abc‘[0],‘<br>‘; //a echo ‘abc‘[-1],‘<br>‘; //c,从右边开始取第一个 7.1开始支持
小结:
1、数组在内存中一段连续的空间
原文:https://www.cnblogs.com/ycchao/p/12940173.html