1.四种标量:boolean, integer, float, String
2.两种复合:Array, Object
3.两种特殊:Resource, NULL*/
$a = "dsd";echo var_dump($a); //输出变量a的类型,值等信息
$b = 16;$c = 016; //八进制,以零开头
$d = 0x16;echo $b,"
";echo $c,"
";echo $d,"
";/**
1.声明一个字符串必须使用单引号或双引号
2.一个字符和多个字符都是字符串(PHP)
3.字符串没有长度限制
4.在单引号中可以使用双引号,在双引号中可以使用单引号
5.在单引号中不能再使用单引号,在双引号中不能再使用双引号(除非使用转义字符)
6.双引号中可以解析变量,单引号中不可以。
7.双引号中可以使用转义字符,单引号中可以。(在单引号中只能转义单引号自己和转义转义符号本身)
8.双引号功能强大,单引号效率高,所以能用单引号尽量用单引号*/
$st = "kkk $b d"; //可以解析$b
echo $st,"
";$st = ‘kkk $b d‘; //不能解析$b
echo $st,"
";$st = "kkk {$b}d"; //通过大括号解析$b,否则会当成$bd从而无法解析
echo $st,"
";$st = "kkk \$b={$b}d"; //转义$符号
echo $st,"
";/**
定界符号声明字符串
1.使用<<
2.在开始的定界符(自定义的字符串中)一定要左边挨着<<
3.在结尾的字符串定界中,一定要顶头写,和开始的字符串一致,并直接回车
4.使用‘‘在开始的定界符号中,将支持双引号的功能,改成了支持单引号的功能*/
$str =<<";/**
强制类型转换
1.setType($a,"double");
2.$b = (int)$a;
3.intval(), floatval(), strval()
4.string型转成int型只会转换开头的几个数字,如果开头没有数字,则返回0*/
$stg = 1000;settype($stg, "string");$stg = (double)$stg;echo getType(intval($stg)),"
";$aa = "45 4school hell";$bb = 100;$cc = $aa+$bb;var_dump($cc); //输出145
/**
常量:
1.常量是使用函数define()声明的
2.如果常量没有声明,则常量名在使用时,会自动转为字符串(效率很低)
3.常量名称不要加$符号
4.常量名称区分大小写(和变量一样),习惯上全大写
5.可以使用define(,,true/false)第三个参数来决定是否让这个常量名称区分大小写
6.常量的值只支持标量数据类型
7.不能使用unset()清除一个常量
8.可以使用defined(); 判断一个常量是否存在
9.用get_defined_constants()可以获得所有已定义的常量列表*/
define("ROOT","localhost");define("KEKE",1234.23);echo ROOT,"
";//魔术常量
echo __LINE__,"
"; //输出当前行号(83)
$s1 = "abc";$s2 = "def";echo "ans: ".$s1.$s2;//===:全等,不仅内容要相等,类型也要相等
//!==:非全等,两边值与类型都相同时返回false,否则true
$a = "7ab";$b = 7;var_dump($a==$b); //true
var_dump($a===$b); //false
//三元运算
$a = 1;$b = 10;$c = $a>$b?123:321;echo $c,"
";//调用系统命令?需要用到时查查吧
echo`ipconfig`;?>