变量 的 类型
常见的
标准类型 布尔boolen 整型 integer 浮点 float 字符string
复杂类型:数组array,对象object
特殊类型:资源resource
变量是什么 ? $ 符号在前面就是变量
操作之间的比较
1.字符串 和 数组 的比较
var_dump(0 == "admin");
看一下比较, admin 字符串不是以数字开头,默认是0 0和0比较,是true
var_dump(0 == "admin");
var_dump(0 == "1admin");
var_dump(1 == "1admin");
var_dump(1 == "admin1");
以下结果
(2)数字和数组比较
//数字和数组
$arr = array();
var_dump(0 == $arr); //错
(3)字符串和数组比较
//字符串和数组
$arr = array();
var_dump('0' == $arr);//错
(4)“合法数字+e+合法数字" 类型的字符串
//xx + e + xx
var_dump("0e123" =="0e41234");//对 比较e之前的
var_dump("1e1" =="10"); //对
(5) == 和 ===
//判断 类型和值 是否相等
empty 和 isset
变量为:0,"0", null , false, array()时,使用empty函数,返回的都为true
变量未定义或者为null时,
isset函数返回的为false,其他都未true
<?php
$a= null;
$b = 0;
$c = '';
var_dump(empty($a));
var_dump(empty($b));
var_dump(empty($c));
都是true
issert的
<?php
$a= null;
var_dump(isset($a));
函数md5 比较
md5(字符串);
必须传字符串,不是字符串的话,结果相同
函数strcmp
strcmp ($str1,$str2);
$str1 比较的第一个字符长
$str2 比较的第二个字符长
给一个不符合的类型,是否可以绕过呢?
比如,给一个数组
?pwd[] = xxx
in_array()和 array_search()
switch函数
如果switch是数字类型的case的判断时,switch会将参数转换为int类型
输出:success