数据类型
布尔型(true,false)true在PHP中输出为1,false无结果
String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)
变量声明
使用$进行变量声明(例:$a = "hahaha");
预定义变量:
服务器变量:$_SERVER(保存头信息,路径,脚本位置等的数组)
Cookie变量:$COOKIE(保存cookie值得数组)
HTTP GET变量:$_GET(保存url请求和表单get提交的变量的数组)
HTTP POST变量:$_POST(保存post方法生成的变量的数组)
Request变量:$_REQUEST(get、post都接受)
数组创建
1.带索引的数组
$arr = [1,2,3,"john","age"];
var_dump($arr);
/*
array (size=5)
0 => int 1
1 => int 2
2 => int 3
3 => string 'john' (length=4)
4 => string 'age' (length=3)
*
* */
2.不带索引的数组
$arr = ["username"=>"john","age"=>22,"sex"=>"man"];
var_dump($arr);
/*
返回结果
*array (size=3)
'username' => string 'john' (length=4)
'age' => int 22
'sex' => string 'man' (length=3)
*
* */
3.二维数组(例:[[1,2,3],[4,5,6]])
4.使用变量创建数组compact()
$a = "aaa";
$b = "bbb";
$c = [1,2];
var_dump(compact("a","b","c"));
/*
返回结果
array (size=3)
'a' => string 'aaa' (length=3)
'b' => string 'bbb' (length=3)
'c' =>
array (size=2)
0 => int 1
1 => int 2
*/
5.使用两个数组创建一个数组(一个为键,一个为值)
$a = [1,2,3];
$b = ["john","mark","boll"];
var_dump(array_combine($a,$b));
/*
返回结果
array (size=3)
1 => string 'john' (length=4)
2 => string 'mark' (length=4)
3 => string 'boll' (length=4)
*/
6.建立指定范围单元的数组range(start,end,step)
//建立一个0-10以内所有偶数的数组
$arr = range(0,10,2);
var_dump($arr);
/*
返回结果
array (size=6)
0 => int 0
1 => int 2
2 => int 4
3 => int 6
4 => int 8
5 => int 10
*/
数组方法
①in_array判断数组中是否包含某个值,返回布尔类型
$arr = [1,2,3,4,5];
$flag = in_array(5,$arr);
if($flag){
echo true;
}else{
var_dump($arr);
}
②获取键名,键值array_keys,array_values
$arr2 = ["user"=>"john","age"=>30];
$arrkey = array_keys($arr2);
$arrvalue = array_values($arr2);
var_dump($arrkey,$arrvalue);
③移除数组中重复的值(返回移除后的数组)
$arr3 = ["username"=>"john","boy"=>"john","age"=>30];
$unique = array_unique($arr3);
var_dump($unique);
④把数组中的值赋给指定变量(带索引的数组,多余的值忽略)
$arr4 = [1,2,3];
list($a,$b) = $arr4;
var_dump($b);
⑤foreach遍历数组(值)
$arr5 = ["user1"=>"john","user2"=>"mark","age"=>20];
foreach($arr5 as $item){
if($item=="mark"){
echo "麦克";
}else{
echo "其他";
}
}
⑥数组尾部中插入值
$arr = [1,4,3,5,8];
$newArr = [];
forEach($arr as $val){
array_push($newArr,$val);
}
var_dump($newArr);
/*
返回结果
array (size=5)
0 => int 1
1 => int 4
2 => int 3
3 => int 5
4 => int 8
* */
类与对象(class&object)
类的创建(由变量和函数组成,变量称为属性,函数称为方法)
对象的创建
public:可以内部调用,实例调用等。
protected: 受保护类型,用于本类和继承类调用。
private: 私有类型,只有在本类中使用。
常用方法
isset($a)判断一个变量是否定义
//判断变量是否定义(返回布尔值,true为1,false无结果显示)
$arr1 = [2,3,4,1];
echo isset($arr1);
json_encode($val),对变量进行JSON编码,成功返回JSON数据,否则返回false
例:json($student,JSON_UNESCAPED_UNICODE) 其中JSON_UNESCAPED_UNICODE为中文转化
$arr2 = [4,6,5,3,4,5,5,1,1,7];
$arr3 = ["user1"=>"约翰","age"=>30];
echo json_encode($arr2);
echo json_encode($arr3,JSON_UNESCAPED_UNICODE);
/*
返回结果
[4,6,5,3,4,5,5,1,1,7]{"user1":"约翰","age":30}
*/
json_decode($val,true),对JSON格式字符串进行编码,转化为PHP变量(true转换为数组,false转换为对象)
$str = '{"user":"john"}';
var_dump(JSON_decode($str,true));
/*
返回结果
array (size=1)
'user' => string 'john' (length=4)
* */