类型转换:
数值
$id=(int)$id
$num =(float)$num
字符串
$str=(string)$str
布尔
$bol=(boolean)$bol //0,null ,false 为假 其它为真
数组
$str="php"
$str[0],$str[1],$str{2} //用中括号的大括号 都可以调取
永久转换 settype(变量名,类型)
$str = 100;
settype($str, 'int');
echo gettype($str); //integer
<?php
// http://php.io/0126/homework.php?p=5&id=3
$ids = $_GET; //得到的是关联数组
var_dump($ids); //array(2) { ["p"]=> string(1) "5" ["id"]=> string(1) "3" }
echo '<br>';
$id = $_GET['id'];
var_dump($id); //string(1) "3"
echo '<br>';
if ($id === 3) { //$_GET中 id 为字符串 所以不相等
echo "相等(类型和数值)";
} elseif ($id == 3) { //只判断 数值 自动转换
echo '相等(类型不同 数值相等)';
} elseif ($id != 3) {
echo "类型数值都不等";
}
echo '<hr>';
$id = "41";
$n = (int) $id; //临时转换,$id 本身值 不变
var_dump($id);
echo '<br>';
var_dump($n); //int(41)
echo '<br>';
var_dump($id); //string(2) "41"
echo '<br>';
$str = "php";
echo $str{0}, $str[1], '<br>';
$str = (array) $str;
var_dump($str);
检查用 函数参数为变量
is_numeric()
in_int()
is_string()
is_array()
is_object() //对象
is_resource() //资源
is_null()
is_scalar() //标量 单值(非数组,对象 ,数组 ,null ,函数)
命名 $前缀,下划或字母开头 数字 组合 避开关键字 (预定义) 区分大小写
变量声明
$firstName=’张’;
命名 :
小驼峰,用于变量 $userName
蛇形用于函数 sum_if(){}
大驼峰用于类 UserModel{}
全大写 常量
变量区分大小写
函数不区分大小写
声明 :
变量没有类型,值有类型
预定义变量
超全局变量:
数组,任何地方都可以访问,不受作用域限制
$GLOBALS: 引用全局作用域中可用的全部变量
$_SERVER: 服务器和执行环境信息
$_GET :通过 URL 参数(又叫 query string)传递给当前脚本的变量的数组
$_POST:当 HTTP POST 请求的 Content-Type 是 application/x-www-form-urlencoded 或 multipart/form-data 时,会将变量以关联数组形式传入当前脚本
$_FILES:通过 HTTP POST 方式上传到当前脚本的项目的数组
$_COOKIE:通过 HTTP Cookies 方式传递给当前脚本的变量的数组
$_SESSION:当前脚本可用 SESSION 变量的数组
$_REQUEST: 默认情况下包含了 $_GET,$_POST 和 $_COOKIE 的数组
$_ENV: 通过环境方式传递给当前脚本的变量的数组
$_SERVER: 服务器和执行环境信息
ep:
‘IP: ‘. $_SERVER[‘REMOTE_ADDR’];
‘浏览器: ‘. $_SERVER[‘HTTP_USER_AGENT’];
‘脚本绝对路径 = ‘. $_SERVER[‘SCRIPT_FILENAME’];
‘脚本相对路径 = ‘. $_SERVER[‘SCRIPT_NAME’];
‘当前脚本名称 = ‘. $_SERVER[‘PHP_SELF’];
‘查询字符串 : ‘. $_SERVER[‘QUERY_STRING’];
‘PATH_INFO = ‘. $_SERVER[‘PATH_INFO’];
‘URI: ‘ . $_SERVER[‘REQUEST_URI’];
$_GET[‘id’];
$_POST[‘name’];
用 define(): 函数;和 const: 关键字;来定义常量
他们区别在于const是在编译前定义好,只支持字面量,不支持表达式
define在编译中运行,可以用表达式
是固定的值,一旦创建不可更新,不可删除(但能部分更新,比如数组,)
常量不是变量,前面不要加” $ “
常量推荐全部大写,多个单词之间用下划线连接