PHP简介
PHP(外文名:PHP: Hypertext Preprocessor,中文名:超文本预处理器,是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言)下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
PHP语言标签 注意事项
开头必须是英文字母或下划线
结尾必须要有分号
*定义元素是在前面加上$
输出数组用print_r()
输出其他的一般用echo +要输出的内容
PHP数据类型
数字类型
$number=1;
$number=0123;//代表八进制的数
$number=0x123;代表16进制的数
字符串类型
1.创建字符串三种形式
(1)$string="luxp";
$string1="string $string"//双引号里的变量会被解析
(2)$string2='string $string'//单引号里的变量不会被解析
(3)$string3=<<
string $name
string $name
EOF;//可以写多行且不会被解析
2.字符串连接
$name="luxp";
$welcome="欢迎".$name."来这里";
当字符串中包含了双引号或者单引号时需要转义
$name.="欢迎来这里" $name "";
数组
数字下标与键名下标都是数组
1.一维数组
$array=array();
$array[1]="数组1";
$array[2]="数组2";
$array['no1']="关联数组1";
$array['no2']="关联数组2";
$array[] ="数组3";
$array[] ="数组4";//如果为空,取当前最大下标自动加1
$array[6] ="数组6";//可以任意指定键值
print_r($array);
echo $array['no1'];
$string="adujskg";
echo $string[2];//字符串可以向数字一样取值
//相同的键名取加号前面的数组
$arr1=array("one"=>1,"two"=>2,"three"=>3);
$arr2=array("three"=>4,"four"=>5,"five"=>6);
print_r($arr2);
$arr=$arr1+$arr2;
print_r($arr);
20166433-6C0E-4E31-A3C2-8FC9DE7A51BC.png
2.二维数组
$array['no1']=array(1,2,3,4);
布尔类型
$result=true;
$result=false;
数据类型转换
PHP是一个弱类型语言,声明变量不需要明确指定类型,并且变量在程序执行过程中可以被赋值任意类型
$num="10 sss";//当一个字符串与数字相加时,会自动转化成数字类型,转化成合法的十进制数字,编程时尽量避免混淆的语法
$num="10 sss";
$num=$num+100;
输出结果是110
PHP运算符类型
条件语句 if
PHP条件语句和JS语句语法相同
1.if(条件){条件正确时是执行的语句}else{不满足条件时执行的语句}
2.浮点数存在精度问题,不能直接相比较
3.当需要判断类型的时候,一定要用全等于===
4.在判断时存在取反就是在条件前面加入!,当条件成立时则条件不成立,反之成立
4.当条件的键值为0 "0" 空字符 未定义类型 null这些值时,则条件是false
逻辑运算符
或运算 前面的条件满足时后面就不会执行
与运算 前面的条件不满足是后面的代码就不会执行
三目运算符
$a=10;$b=12;
$c=$a>$b?$a:$b;
*多分支语句 switch case
$weekday=8;
switch($weekday){
case 1:
echo "周一";
break;
case 2:
echo "周二";
break;
case 3:
echo "周三";
break;
case 4:
echo "周四";
break;
case 5:
echo "周五";
break;
case 6:
echo "周六";
break;
case 7:
echo "周日";
break;
default:
echo "你错了";
break;
}
输出结果是:你错了
循环结构
for循环
for 循环
for($i=0;$i<10;$i++){
echo "$i";
}
输出结果是0123456789
foreach
$array[0]="one";
$array[1]="two";
$array[2]="three";
//foreach
foreach($array as $key =>$val){
echo "$key =>$val
";
}
while循环
$i=0;
while($i<10){
echo "$i
";
$i++;
}
do while 循环
do至少执行一次
$num=10;
do{
echo "$i
";
if($i==$num){
break;
}
$i++;
}while($i);
下面举几个小例子来把PHP运用在HTML中
简单粗暴的日历表
$lesson=array();
$lesson[0]="休息";
$lesson[1]="h5";
$lesson[2]="JS";
$lesson[3]="css";
$lesson[4]="php";
$lesson[5]="ajax";
$lesson[6]="json";
?>
周日 | 周一 | 周二 | 周三 | 周四 | 周五 | 周六 |
foreach($lesson as $key => $val){
?>
=$val?>输出结果为:
CCD34B3B-AC09-4D84-9753-BD02186E12B2.png
商品购物
$shop=array();
$shop[0]=array("手机","$100",20);
$shop[1]=array("电脑","$300",20);
$shop[2]=array("iPad","$200",20);
?>
商品名称 | 商品价格 | 购买数量 |
foreach($shop as $key =>$val){
?>
foreach($val as $_key=>$_val){
?>
=$_val?>运行结果如下:
78617F32-CE95-4DBC-AFF9-9E95DEAB5692.png
简单的留言板
$liuyan=array();
$reirong=array("rdishgoertgjfjytdgjjyhgjghhjjhjhjjhjhhtrtrorew","reue6ehrrttrurtytytgrt6hj8","euwtieqtrytyyeeyeructwop");
$liuyan[0]=array("li","xxx","1月1日");
$liuyan[1]=array("lisi","yyy","2月2日");
$liuyan[2]=array("zhangsan","zzz","3月31日");
?>
foreach($liuyan as $key=>$val){
?>
foreach($val as $_key=>$_val){
?>
=$_val?>=$reirong[$key]?>运行结果如下:
CC8BD0A3-A3A6-4630-B792-1E7D45C94D06.png
PHP函数
函数注意事项
函数 一种代码块(内存中一块区域)
定义 function
函数只有调用才能执行
函数可以定义若干个参数,形参可以设定默认值。具有默认值的不能排在无默认值前面
举例说明
function myfunction($param2,$param="lxx"){
echo $param."hello word";
}
myfunction(1);
输出结果为:lxxhello word
function getfunc(){
$array=array();
for($i=0;$i<10;$i++){
// 如果使用外部变量必须使用use($i),不使用的话是获取不到i的值的
$array[$i]=function()use($i){
return 10+$i;
};
}
return $array;
}
//$funcArray是一组函数
$funcArray=getfunc();
echo $funcArray[3]();
输出结果为:13
函数体内部定义的变量只在函数体内有效
在函数体内部使用global关键字,将变量定义为全局变量
function addfunc($a){
global $a;
echo $a=$a-3;//输出结果为7
}
addfunc($a);
echo $a;//输出结果为7
引用传参
函数名不能重复
引用传参在形参前面添加&符
引用传参 ,传的是变量本身,而不是它的值
function myfunc_2($a){
$a--;
echo $a;//输出结果为9
}
$b=10;
myfunc_2($b);
echo $b;//输出结果为10
function myfunc_2(&$a){
$a--;
echo $a;//输出结果为9
}
$b=10;
myfunc_2($b);
echo $b;//输出结果为9
内置函数
1.empty()判定一个变量是不是存在
如果变量未定义返回true
第二种$luxp=""值为空返回true
第三种$luxp=0;返回true
第四种$luxp="0";返回true
第五种$luxp=null;返回true
empty()只有变量在定以后,并且赋值,且值不为空 0 "0"null false 返回false
$luxp=false;
if(empty($luxp)){
echo "
变量未定义";
}else{
echo $luxp;
}
2.isset()
$luxp;如果变量未定义返回false
第二种$luxp=""值为空返回true
第三种$luxp=0;返回true
第四种$luxp="0";返回true
第五种$luxp=null;返回false
第五种$luxp=false/true;返回true
if(isset($luxp)){
echo "变量已定义";
}else{
echo "变量未定义";
}
这只是一部分PHP基础,可见后面还有很多很多需要去学习……