您的位置:首页 > 编程语言 > PHP开发

php基础02_基本语法

2016-12-23 20:30 405 查看

一 php概述

1.1 php简介

1)Hyper textpreprocessor 超文本预处理器

借鉴的语言:C语言,Java语言,Perl语言和PHP自创语法

2)PHP是服务器端语言

服务器端语言:PHP,python

前段语言:JavaScript

3)PHP语言可以嵌套Html语言中使用

4)PHP是用于动态内容和数据库交互的最优秀的语言

1.2 发展历史

php1.0   1994

php2.0   1995

php3.0   1997

php5     2000

php7.0   2015.12

hph7.1   2016.11

目前企业采用PHP版本为php5.5版本

php3.5版本之前是面向过程

php3.5版本之后是面向对象

总的来说,php是一门面向对象的脚本语言

1.3 php特性

1)开源

2)免费

3)基于服务器端

4)可以嵌入到HTML中

5)效率高

6)图像处理

7)面向对象(oop技术)(PHP4以后)

二.php语法

2.1 书写方式

1)简短

<?

 php代码

 ?>

2)script风格

<scriptlanguage = "php">

php代码

</script>

3)asp风格

<%

php代码

%>

2.2 php可以嵌套在html文件中

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
</body>
<?php
echo "Hello world";
?>
<script language="php">
echo "god";
</script>
</html>


2.3 向浏览器输出

echo(),print(),printf(),sprint()

其中,echo,print,printf本身就是函数,括号可以省略

1)echo与print比较

功能几乎是一样的,但是echo运行速度要比print稍微快,echo 可以一次输出多个值(基本数据类型),多个值之间用逗号隔开

输入多个值时,echo不能加(),单个值可加可不加

echo没有返回值,但是print() 只能打印一个值,括号可加可不加,并且有返回值(整数)

echo()和print()只能打印基本数据类型

2)printf与sprintf比较

printf()与sprintf()都是格式化输出,是C语言的方法

不同点:printf有返回值且为整数sprintf有返回值且为字符串

printf直接向浏览器输出,sprintf需要echo将其返回值输出

3)print_r()与var_dump()比较

print_r()简单打印 既可以打印基本数据类型,又可以打印复合数据类型

var_dump() 即可以打印基本数据类型又可以打印复合数据类型

注意:在打印数组或对象数据类型时采用print_r()和var_dump()

4)格式化输出

%f 浮点数,显示为浮点数

%d 十进制数,显示为整数

%s  字符串

%u  整数(无符号整数)

%x  小写16进制

%X  大写16进制

%o  八进制

%b  二进制

%c  字符整数

三.标识符

3.1标识符的命名规范

1)标识符可以是任意长度,由数字,字母,下划线组成

2)不能以数字开头

3)区分大小写

4)变量名和函数名重名

5)$是变量的标识符,所有变量必须以$开头,$符与变量是一个整体,不可分开

3.2 数据类型

1)基本数据类型

Inter     整形

Float  浮点型

String 字符串

在php中当中字符串表示方式:

单引号'';原样输出,服务器是不会对单引号中的内容进行解析;

双引号"";服务器会对双引号中的内容进行解析;

界定符<<<

连接符用点.表示

Boolean    布尔值

在php当中出现false情况:null,未赋值的变量,空数组,0

其他情况都为true

2)复合数据类型

Array  数组

数组定义:

$arr1 = array(1,2,3,4,5);
$arr2 = array("name"=>"张三","age"=>"26","weight"=>"60Kg");
$arr3["name"] = "张三";$arr3["age"] = "25";
print_r($arr5);//判断正确Array ( [name1] => Z [name2] => H )
var_dump($arr5);//array(2) { ["name1"]=> string(1) "Z" ["name2"]=> string(1) "H" }

Object 对象

3)特殊数据类型

resource   表示指针

含义:句柄(保存到外部资源的一个引用)

作用:在使用资源时,系统会自动启动垃圾回收机制,释放不再使用的资源,避免内存消耗

null   空类型,不区分大小写

四 类型转化和循环语句

4.1  数据类型转换

1)整型转换(interger)

$Int = 12.5;
$Int1 = (integer)$Int;//12

2)字符串转换(string)

$st = (string)$Int1;
echo is_string($st);//1为true

3)布尔转换(boolearn)

检测布尔类型:(is_boolean)

4)浮点转换(float)

检测浮点型:is_float()

5)数组转换(array)

检测数组类型is_array()

$Str1 = "1234";
$arr = (array)$Str1;
var_dump($arr);//array(1) { [0]=> string(4) "1234" }

6)对象转换(object)

检测是否为对象:is_object();

7)空类型检测is_null()

8)检测是否为数字组成的字符串is_numeric()

4.2循环语句

1)if语句

if($a == 12){
    echo "12";
}
else {

}
if($a == 12){
    echo "12";
}
elseif($b == 13) {

}

2)switch语句

switch (表达式){
case 1:
{
break;
}
case 2:
{
break;
}
default:
{
break;
}
}

3)while语句

switch (表达式){
case 1:
{
break;
}
case 2:
{
break;
}
default:
{
break;
}
}do{

}while($b == 1);

五.数据运算

5.1 随机数

1)rand(min,max);

2)mt_rand(min,max);

区别:后者比前者快

5.2 格式化函数

number_format(number,小数点位数,用作小数点的字符串,千位分隔符)

$money = 123456789;
$m = number_format($money,2,".",",");
echo $m."<br/>";//123,456,789.00

5.3  系统函数

绝对值函数abs()

向下取整函数floor()

向上取整函数ceil()

四舍五入函数round()

求数组最大值函数$a5 =max([1,2,3,45,6,7]);//45

求数组最小值函数$a6 =min([1,2,3,45,6,-7]);//-7

5.4 数组遍历

当数组中的key值不是默认数字的时候,遍历数组只能用foreach()

$arr1 = array("name"=>"张三","age"=>"30","weight"=>"70kg");
foreach($arr1 as $value){
echo $value." ";//张三 30 70kg
}

for循环遍历

$arr2 = [1,2,3,4,5];
for ($i = 0;$i < 5;$i ++){
echo $arr2[$i]." ";//1 2 3 4 5
}

二维数组遍历

$arr5 = [["name"=>"zhangsan","age"=>"18"],["name"=>"lisi","age"=>"20"],["name"=>"wangwu","age"=>"30"]];
foreach ($arr5 as $num){
foreach($num as $value){
echo $value." ";
}
echo "<br/>";
}

5.5  排序函数

正向排序(从小到大):sort(),asort(),ksort(),非数字类型一般用asort,按key值排序用ksort

反向排序(从大到小):rsort(),arsort(),krsort()

$arr6 =[1,51,45,163,178,453];
sort($arr6);
print_r($arr6);//Array ( [0] => 1 [1] => 45 [2] => 51 [3] => 163[4] => 178 [5] => 453 )
echo "<br/>";
rsort($arr6);
print_r($arr6);//Array ( [0] => 453 [1] => 178 [2] => 163 [3] => 51[4] => 45 [5] => 1 )
echo "<br/>";
$arr7 =["name"=>"Z","age"=>"H","weight"=>"K"];
asort($arr7);
print_r($arr7);//Array ( [age] => H [weight] => K [name] => Z )
echo "<br/>";
arsort($arr7);
print_r($arr7);//Array ( [name] => Z [weight] => K [age] => H )
echo "<br/>";
$arr8 =["A"=>"1","C"=>"9","B"=>"5","D"=>"4"];
ksort($arr8);
print_r($arr8);//Array ( [A] => 1 [B] => 5 [C] => 9 [D] => 4 )
echo "<br/>";
krsort($arr8);
print_r($arr8);//Array ( [D] => 4 [C] => 9 [B] => 5 [A] => 1 )


5.6 数组拼接函数

array_conmbine(array1,array2);

创建一个数组,array1当key;array2当value

返回的是一个新创建的数组

$arr9 = ["A","B","C","D"];
$arr10 = ["1","22","333","4444"];
$arr11 = array_combine($arr9,$arr10);
var_dump($arr11);//array(4) { ["A"]=> string(1) "1" ["B"]=> string(2) "22" ["C"]=> string(3) "333" ["D"]=> string(4) "4444" }

5.7  数组元素出现次数统计函数

array_count_values(array)

返回值是统计后的结果数组

$arr13 = ["A","B","A","N","A","C"];
$arr14 = array_count_values($arr13); var_dump($arr14);//array(4) { ["A"]=> int(3) ["B"]=> int(1) ["N"]=> int(1) ["C"]=> int(1) }

5.8 两数组差集计算函数

array_diff(array1,array2);

返回一个结果数组,array1中array2没有的值

$arr16 = [1,2,3,3];
$arr17 = [4,5,6];
$arr18 = array_diff($arr16,$arr17); var_dump($arr18);//array(4) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(3) }

5.9 数组key值和value值交换函数

array_flip(array)返回的是一个数组

$arr19 = ["A"=>"Z","B"=>"Z","C"=>"f"];
$arr20 = array_flip($arr19); var_dump($arr20);//array(2) { ["Z"]=> string(1) "B" ["f"]=> string(1) "C" }
//注意:如果一个数组中的值出现多次,该方法会将最后一个重复的值的Key保留

5.10 检测某个值是否存在一个数组中

in_array(要检测的值,原数组);返回一个boolean值

$arr21 = [12,23,"name","S"];echo in_array("name",$arr21);//1

5.11  数组合并函数

array_merge(array1,array2,......);
$arr22 = [1,2,"name"=>"Z"];
$arr23 = [45,"name"=>"H"];
$arr24 = array_merge($arr22,$arr23); var_dump($arr24);//array(4) { [0]=> int(1) [1]=> int(2) ["name"]=> string(1) "H" [2]=> int(45) }
//如果两个数组中有key一样,则后面一个数组的Key会覆盖前一个数组的Key值


5.12 获取数组中全部key值函数

array_keys()      返回一个新的数组

$arr25 = [1,2,"name"=>"Z"];
$arr26 = array_keys($arr25); var_dump($arr26);//array(3) { [0]=> int(0) [1]=> int(1) [2]=> string(4) "name" }

5.13 数组去重函数

array_unique(array)返回是处理后的一个数组

$arr27 = [1,2,3,4,4,3,2,1];
$arr28 = array_unique($arr27);
var_dump($arr28);//rray(4) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) }

5.14 删除数组函数

unset(要删除的一个数组)

unset($arr28);
var_dump($arr28);//报错,因为数组已被删除
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: