1.PHP变量声明:
以$符开始,后面跟大小写字母,数字和下划线,但不能以数字开头。
eg:
<?php
$a = 100; //声明一个变量a,赋予整数100
$b = "string"; //声明一个变量b,赋字符串string
?>
2.PHP方法
(1)var_dump(); //检测变量类型
(2)unset(); //释放指定的变量
(3)isset(); //检测变量是否设置
(4)empty(); //检查一个变量是否为空
tip:检查为空的有:0,“0”,false,空数组,null,0.0
3.php类型之——字符串
(1)输出字符串:在js里使用+拼接字符串,但在php使用{}包含起来,就可以将变量分离出来即可。
注意:另外输出字符串如果用单引号只能解析纯字符串,不能解析含有{}里的变量,但是双引号可以。且如果引号里有再有引号需要转义字符声明。。。
eg:
<?php
$a = "张三“;
$b = "李四";
echo ”{$a}和{$b}是好朋友"; //此时浏览器输出张三和李四是好朋友;
echo '{$a}和{$b}是好朋友'; //此时浏览器输出{$a}和{$b}是好朋友;因为单引号不能解析不是纯字符串的内容
echo ”{$a}和{$b}是'好'朋友"
?>
(2)定义字符串:可以直接通过$定义,或者通过限定符定义字符串。
eg:
$str = <<<name
哈哈哈
么么哒
name;
echo $str;//此时输出 哈哈哈 么么哒
(3)字符串类型之间的转换
1)自动转换:无论是字符串还是布尔类型,都会强制转换成为整型
2)强制转换:只需要在需要转型的值前面加上(),和在括号里面写上需要转换的数据类型即可。
eg:
$a = 10;
$b = "abc";
$c = "1abc";
$result = $a+$b;
$result1 = $a+$b+$c;
echo $result ; //此时是10;
echo $result1; //此时是11
4.Null
null值表示一个变量没有值。null类型唯一可能的值就是null,表示一个变量的值为空,null不区分大小写。
下列情况一个变量 被认为null:
(1)被赋值为null值的变量
(2)尚未被赋值的变量
(3)被unset()函数销毁的变量
5.PHP变量类型的测试函数
is_bool():判断是否是布尔型
is_int(),is_integer()和is_long():判断是否为整型
is_float()、is_double()和is_real():判断是否为浮点型
is_string():判断是否为字符串
is_array():判断是否为数组
is_object():判断是否为对象
is_resource():判断是否为资源类型
is_null():判断是否是null
is_scalar():判断是否是标量
is_numeric():判断是否是任何类型的数字和数字字符串
is_callable():判断是否是有效的函数名
bool settype(mixed var ,string type)是将变量var的类型设置成type
6.PHP类型之——常量
(1)定义:bool define(stringName,mixedValue[,bool case_insensitive]);
stringName:常量名
mixedValue:常量值或表达式。但常量只能包含标量数据(boolean,integer,float和string)
bool case_insensitive:可选参数,为true时表示常量名不区分大小写
eg:
define(age,88,true);
echo age;//此时age是88
7.php类型之——函数
与js不同之处
(1)可以在函数传形参的时候给形参一个默认值。
(2)判断函数是否存在用function_exists()。
(3)如果在函数体外部声明的全局变量,在函数体内使用得用global关键字声明当前变量是全局变量,否则会报错。
(4)static关键字声明的变量是静态变量,只会在系统第一次运行的时候进行初始化。改变变量的生命周期。
eg:
function showSelf($name="小花",$age="16"){
echo" {$name}今年{$age}岁了";
};
showSelf();
eg:
if(function_exists("showSelf")){
echo "函数存在";
}else{
echo "函数不存在";
}
eg:
function f1(){
static $a = 10;
$a++;
echo $a."<br>";
}
f1();
f1();
8.PHP类型之——数组
(1)定义数组和赋值:
<1>直接赋值方式——索引数组
$array[0] = "11";
$array[1] = "12";
$array[2] = "13";
<2>直接赋值方式——关联数组
$array["name"] = "张三";
$array["age"] = "18";
$array["tel"] = "22222";
<3>通过array来定义和赋值数组
$array1 = array();
$array1[]=1;
$array1[]=2;
$array1[]=3;
$array1[]=4;
print_r($array1);
(2)遍历数组
<1>foreach(数组名 as 键 => 值)方式
eg:
$array["name"] = "张三";
$array["age"] = "18";
$array["tel"] = "22222";
foreach( $array as $key => $obj){
echo $key."=".$obj."<br>";
}
(3)取数组值:
<1>通过索引取值
eg:
$array = array(0=>"zhangsan",1=>"lisi",2=>"wangwu");
$arr1 = $array[0]; //此时取到$array数组的第一个数zhangsan;
<2>通过list()取值,只对索引数组有效,遇到关联数组会跳过,且只按照指定索引顺序从第0个开始取值。
eg:
$array = array("name"=>"zhangsan",1=>"lisi",2=>"wangwu");
list($a,$b,$c) = $array; //此时$a是空,$b是lisi,$c是wangwu
<3>通过each()取值,作用相当于一个指针,开始先指向第一个数,然后指向下一个数,知道数组为空。
eg:
$array = array("name"=>"zhangsan",0=>"lisi",1=>"wangwu",2=>"zhaoliu");
list($a,$b) = each($array); //此时$a是name,$b是zhangsan;
list($a,$b) = each($array); //此时$a是0,$b是lisi;
以此类推。。。
each()通常用于遍历数组。
eg:
while(list($a,$b) = each($array)){
echo "{$a},{$b}/";
}
(4)使用超全局数组(预定义数组)
<1>服务器变量:$_SERVER
<2>环境变量:$_ENC
<3>HTTP GET变量:$_GET
<4>HHTP POST变量:$_POST
<5>request变量:$_REQUEST
<6>HTTP文件上传变量:$_FILES
<7>HTTP Cookies变量:$_COOKIE
<8>Session变量:$_SESSION
<9>Global变量:$_GLOBALS