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=<<<EOF
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);
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 <br>"; }
-
while循环
$i=0; while($i<10){ echo "$i<br>"; $i++; }
-
do while 循环
do至少执行一次$num=10; do{ echo "$i<br>"; if($i==$num){ break; } $i++; }while($i);
下面举几个小例子来把PHP运用在HTML中
-
简单粗暴的日历表
<?php $lesson=array(); $lesson[0]="休息"; $lesson[1]="h5"; $lesson[2]="JS"; $lesson[3]="css"; $lesson[4]="php"; $lesson[5]="ajax"; $lesson[6]="json"; ?> <table border="1" cellspacing="0" cellpadding="0"> <tr> <td>周日</td> <td>周一</td> <td>周二</td> <td>周三</td> <td>周四</td> <td>周五</td> <td>周六</td> </tr> <tr> <?php foreach($lesson as $key => $val){ ?> <td><?=$val?></td> <?php }?> </tr> </table>
输出结果为:
-
商品购物
<?php $shop=array(); $shop[0]=array("手机","$100",20); $shop[1]=array("电脑","$300",20); $shop[2]=array("iPad","$200",20); ?> <table border="1" cellspacing="0" cellpadding="0"> <tr> <td>商品名称</td> <td>商品价格</td> <td>购买数量</td> </tr> <?php foreach($shop as $key =>$val){ ?> <tr> <?php foreach($val as $_key=>$_val){ ?> <td><?=$_val?></td> <?php }?> </tr> <?php }?> </table>
运行结果如下:
-
简单的留言板
<?php $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日"); ?> <table border="1" cellspacing="0" cellpadding="0"> <?php foreach($liuyan as $key=>$val){ ?> <tr> <?php foreach($val as $_key=>$_val){ ?> <td><?=$_val?></td> <?php }?> </tr> <td colspan="3"><?=$reirong[$key]?></td> <?php }?> </table>
运行结果如下:
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 "<br>变量未定义"; }else{ echo $luxp; }
2.isset()
$luxp;如果变量未定义返回false
第二种$luxp=""值为空返回true
第三种$luxp=0;返回true
第四种$luxp="0";返回true
第五种$luxp=null;返回false
第五种$luxp=false/true;返回trueif(isset($luxp)){ echo "变量已定义"; }else{ echo "变量未定义"; }
这只是一部分PHP基础,可见后面还有很多很多需要去学习……