赞
踩
02-PHP基础语法
1. PHP 语法
2. PHP 变量 和 数据类型
3. PHP 常量 和 可变变量
4. PHP echo/print
5. PHP 运算符
6. PHP 字符串常用方法7. PHP 分支语句
8. PHP 循环语句
9. PHP 数组
10. PHP 函数
一:PHP 语法
1、PHP 脚本可以放在文档中的任何位置。
2、PHP 脚本以 <?php开始,以?>结束,所有完整的PHP语句代码 均以 ; 结尾
<!DOCTYPE html>
<!--
虽然理论上PHP代码可以在写文档的任何位置
但当将PHP代码写在HTML文档结构中时,
需要注意因为不合开发规范的书写方式会导致HTML代码的错乱
-->
<?phpecho "Hello PHP";?><html>
<head>
<metacharset="utf-8">
<metahttp-equiv="X-UA-Compatible"content="IE=edge"><title>PHP基础</title>
<linkrel="stylesheet"href="">
</head><body>
<h1><?phpecho "Hello PHP";?></h1></body>
</html>
3、当文档包含PHP代码且PHP代码后面没有其它的HTML代码时,可以只使用 <?php 开头不需要结尾对于纯PHP脚本来说 建议使用该种方式
<?php
echo"Hello PHP";
4、PHP注释
二:PHP 变量 和 数据类型
1.与其它编程语言相同,可以给PHP变量赋予某个值或者 表达式。2.变量可以是很短的名称 或者 更具描述性的名称。
3.PHP 是一门弱类型语言,在申明PHP变量时 不需要指定 数据类型。
PHP 会根据变量的值,自动把变量转换为正确的数据类型。PHP 有8种原始数据类型
基本数据类型:整数、浮点数、字符串、布尔复合数据类型:数组、对象特殊数据类型:资源、NULL
4.PHP 变量规则:
● 变量以 $ 符号开始,后面跟 变量名●变量名必须以字母或者下划线字符开始
● 变量名 只能包含 字母 数字 下划线(A-z、0-9 和 _ )● 变量名 不能包含 空格
● 变量名 严格区分大小写
**** PHP 语句和 PHP 变量都是区分大小写的。
<?php
//这是PHP的 单行 注释/*
这是PHP的
多行注释
*/
echo"Hello PHP";echo"<br/>";//php变量的定义$x= 1;
$y= 12.5;
$str="这是个字符串";$flag= true;
$a= null;
/*
PHP中使用var_dump(变量,变量,......)查看变量的 类型和长度,并会将类型和长度输出到页面中
输出格式为:
1、整数、小数、布尔--类型(长度)
2、字符串--类型(字节长度) 一个中文字符占2到4个字节
对于不同的编码方式 汉字的字节数据不同GBK\GB2312编码是2个字节unicode\utf-8编码是3个字节。
3、null -- 直接输出null
var_dump()是用于显示一个或多个变量或表达式的结构信息,包括表达式的类型与值。
数组将展开值,通过缩进显示数组结构结构
*/
echovar_dump($x);var_dump($y);var_dump($str);var_dump($flag,$a);
<?php
//PHP变量的强制类型转换
//PHP中可以通过gettype()方法 获取变量的数据类型
<?php
//这是PHP的 单行 注释/*
这是PHP的
多行注释
*/
echo "Hello PHP";
$str1="10";$str2="10.24";$str3="true";
echo gettype((integer)$str1);
echo"<br/>";
//对于浮点类型的转换,使用float和double最终对是double类型echo gettype((float)$str2);
echo"<br/>";
echo gettype((double)$str2);
echo"<br/>";
echo gettype((boolean)$str3);
echo"<hr/>";
//php变量强制类型转换的特殊情况
//1、将null 0 未赋值的变量 强制转换为boolean时 会转换为false,其它情况为true//2、将false转换为integer时 返回0
//3、将true转换为integer时 返回1
//4、将小数转为 为integer时 小数点后面的值会被省去//5、将以数值开通的字符串转换为integer时 会截取到非数字位,其它情况返回0
$a= null;
$b= 0;
$c;
$e= 100;
$f="ssss";
$g= true;
$h= false;
$i="11111sssss";
$j="11111.111sssss";
$k="ssss1111";
var_dump((boolean)$a);echo"<br/>";var_dump((boolean)$b);echo"<br/>";var_dump((boolean)$c);echo"<br/>";var_dump((boolean)$e);echo"<br/>";var_dump((boolean)$f);echo"<br/>";var_dump((integer)$g);echo"<br/>";var_dump((integer)$h);echo"<br/>";var_dump((integer)$i);echo"<br/>";
//在PHP 4.0 版本 之前 浮点数据的标识类型为double实际在PHP中float和double没有区别var_dump((float)$j);
echo"<br/>";
var_dump((integer)$j);
echo"<br/>";var_dump((integer)$k);
三:PHP 常量和可变变量A) 常量
1、常量是一个简单值的标识符。该值在脚本中不能改变。2、一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。
* 注意:常量在整个脚本中都可以使用。
3、设置常量,使用 define() 函数,函数语法如下:(常量名不需要加 $ 修饰符)
define ( name ,value [,case_insensitive] )
该函数有三个参数:
> name:必选参数,常量名称,即标志符。
<?php
> value:必选参数,常量的值。
> case_insensitive:可选参数,如果设置为 true,该常量则大小写不敏感。
默认是大小写敏感的(false)。
//区分大小写的常量名define("GREETING","PHP常量");echoGREETING;//输出"PHP常量"echo'<br>';
echogreeting;//输出"greeting"
?>
<?php
//不区分大小写的常量名define("GREETIN "PHP常量", true);echogreeting;//输出"PHP常量"
?>
<?php
$Bar="a";
B) 可变变量
1、所谓可变变量,就是一个变量的变量名可以动态的设置和使用。语法形式是PHP的特殊语法,其他语言中少见。
2、PHP 的可变变量的实现,主要是因为 PHP 中变量的特殊申明方式出现。
?>
$Foo="Bar";$World="Foo";$Hello="World";$a="Hello";
$a;//返回Hello$$a;//返回World$$$a;//返回Foo$$$$a;//返回Bar$$$$$a;//返回a
$$$a;//返回Foo$$$$a;//返回Bar
四:PHP echo/print 输出语句
1、echo 和 print 均为输出语句,都可以使用两种输出方式:● echo 输出的数据;或 echo(输出的数据);
● print 输出的数据;或 print(输出的数据);
<?php
echo"这样可以输出<br/>";echo("这样也可以输出<br/>");print("这样可以输出<br/>");print"这样也可以输出<br/>";
2、echo 和 print 的不同点:
● echo - 可以输出一个或多个字符串;● print - 只允许输出一个字符串;
<?php
//echo可以同时输出多个值
echo"echo可以","输出使用多个参数","进行输出<br>";
print"print不可以使用多个参数进行输出<br>";//使用下面的方式进行输出页面会出现错误
//print "print不可以","输出使用多个参数","进行输出<br>";
3、变量的输出
<?php
echo"这样可以输出<br/>";echo("这样也可以输出<br/>");print("这样可以输出<br/>");print"这样也可以输出<br/>";
//echo可以同时输出多个值
echo"echo可以","输出使用多个参数","进行输出<br>";//print "print不可以","输出使用多个参数","进行输出<br>";print"print不可以使用多个参数进行输出<br>";
$name="张三";
$course="PHP课程";
$num= 3;
echo$name,"正在上",$course,"第",$num,"天<br>";
//PHP中使用.进行字符串的拼接
print$name."正在上".$course."第".$num."天<br>";
echo$name."正在上".$course."第".$num."天<br>";
//在PHP中""表示执行输出
//""中的变量 会被等量替换为 值 后再进行输出//""中如果出现非变量的连续字符拼接,需要使用非变量可以符号进行隔断,否则无法输出//""中对于变量的连续出现可以正常显示echo"a:$name正在上$course第$num天<br>";//无法输出的原因 是PHP无法找对应的变量echo"b:$name正在上$course第$num天<br>";//可以正常显示
echo"c:$name_正在上_$course_第_$num_天<br>";//不可以正常显示
echo"d:$name$course$num<br>";//可以正常显示//对于变量的在""中的连接,可以使用{}将变量进行包裹,告知PHP解析器这是一个变量
echo"e:{$name}正在上{$course}第{$num}天<br>";//是可以正常输出
$x= 1;
$y= 2;
// ""中不能执行四则运算和逻辑运算
echo$x+$y,"<br/>";
echo"$x+$y <br/>";
echo$x>$y,"<br/>";//无法输出,PHP中不能使用echo或print输出布尔类型的值var_dump($x>$y);//使用var_dump()进行输出
echo"$x>$y <br/>";
//在PHP中''标识 文本输出
//''中的值会被原封不动的输出到页面中
echo'$name$course$num <br/>';
// PHP中的界定符<<<界定符//下面EOT为自己定义的界定符,可以是任何字符,但结尾处的字符要和它完全一样。
// echo <<<EOT界定开始指定完成后,界定符后面不再出现任何其它字符包括注释、空格等echo<<<EOT
界定符之间的类容
这是要输出的字符
EOT;
//注意末尾的结束符必须靠边,其前面不能有空格,后面必须出现换行符,不能有任何字符,包括注释和空格
五:PHP 运算符
4、PHP的比较运算符
运算符 |
名称 |
描述 |
实例 |
x == y |
等于 |
如果x等于y,则返回true |
5==8返回false |
x === y |
恒等于 |
如果x等于y,且它们类型相同,则返回true |
5==="5"返回false |
x != y |
不等于 |
如果x不等于y,则返回true |
5!=8返回true |
x <> y |
不等于 |
如果x不等于y,则返回true |
5<>8返回true |
x !== y |
不恒等于 |
如果x不等于y,或它们类型不相同,则返回true |
5!=="5"返回true |
x>y |
大于 |
如果x大于y,则返回true |
5>8返回false |
x<y |
小于 |
如果x小于y,则返回true |
5<8返回true |
x >= y |
大于等于 |
如果x大于或者等于y,则返回true |
5>=8返回false |
x <= y |
小于等于 |
如果x小于或者等于y,则返回true |
5<=8返回true |
6、PHP的逻辑运算符
运算符 |
名称 |
描述 |
实例 |
x and y |
与 |
如果x和y都为true,则返回true |
x=6 |
x or y |
或 |
如果x和y至少有一个为true,则返回true |
x=6 |
x xor y |
异或 |
如果x和y有且仅有一个为true,则返回true |
x=6 |
x && y |
与 |
如果x和y都为true,则返回true |
x=6 |
x || y |
或 |
如果x和y至少有一个为true,则返回true |
x=6 |
!x |
非 |
如果x不为true,则返回true |
x=6 |
<?php
-2
//递增递减运算符
$x= 10;
echo$x++,"<br/>";
$x= 10;//在同级别的变量中存在名称相同的变量会进行覆盖echo++$x,"<br/>";
$y= 10;
echo$y--,"<br/>";$y= 10;
echo--$y,"<br/>";
//逻辑运算符$z= 10;
$k= 10;
var_dump($z==10 &&$k==10);var_dump($z==10and$k<>10);
var_dump($z<>10 || $k<>10);var_dump($z<>10 || $k==10);
//有且仅有一个为true,则返回true。var_dump($z==10xor$k<>10);var_dump($z==10xor$k==10);
var_dump(!($z==$k));
六:字符串常用方法
1、trim(string,charlist); 移除字符串两侧的空白字符或其他预定义字符,并返回新的字符串string 为要进行删除的字符串(必选)
charlist 为要删除的字符(可选)
当 charlist 参数不填时,默认删除 空格,换行,制表符,回车等
2、ltrim(string,charlist) 移除字符串左侧的空白字符或其他预定义字符,并返回新的字符串3、rtrim(string,charlist) 移除字符串右侧的空白字符或其他预定义字符,并返回 新的字符串4、explode(separator,string,limit); 将指定的字符串 按要求 拆分成数组(数组课程中进行讲解)5、lcfirst(string) 将字符串首字母转换为小写
6、ucfirst(string) 将字符串首字母转换为大写
7、ucwords(string) 将字符串 中 每个 单词的首字母转换为大写8、strtoupper(string) 将字符串全部转换为大写
9、strtolower(string) 将字符串全部转换为小写10、str_replace(find,replace,string,count) 替换字符串中的一些字符(区分大小写);
find 需要被替换的值(必选)
replace 要替换成的值(必选)
string 需要查找的字符串(必选)
count 对替换进行计数(可选)(参数是一个变量);
11、stripos(string,find,start) 查找字符串在另一字符串中第一次出现的位置(不区分大小写)。string 要被搜索的字符串(必选)
find 要匹配的字符串(必选)
start 从下标 几 开始匹配 (可选)
12、strripos(string,find,start) 查找字符串在另一字符串最后一次出现的位置(不区分大小写)。13、strpos(string,find,start) 查找字符串在另一字符串中第一次出现的位置(区分大小写)。14、strrpos(string,find,start) 查找字符串在另一字符串中最后一次出现的位置(区分大小写)。
15、strlen(string) 返回字符串长度16、strrev(string) 字符串反转17、substr(string,start,length) 字符串的截取
string 需要被截取的字符串(必选)start 截取的开始位置(可选)
正数 - 在字符串的指定位置开始
负数 - 在从字符串结尾的指定位置开始0 - 在字符串中的第一个字符处开始
length 规定要返回的字符串长度。默认是直到字符串的结尾。正数 - 从 start 参数所在的位置开始截取
负数 - 从字符串末端开始截取
0 不截取
<?php
// 1、trim(string,charlist); 移除字符串两侧的空白字符或其他预定义字符,并返回 新的字符串
string为要进行删除的字符串(必选)charlist为要删除的字符(可选)
//
//
//
//2、ltrim(string,charlist)移除字符串左侧的空白字符或其他预定义字符,并返回 新的字符串//3、rtrim(string,charlist)移除字符串右侧的空白字符或其他预定义字符,并返回 新的字符串
$str1=' sssss ';
$str2='aaaassssssaaaa';
//空格在HTML中最多只显示一个
echo'原始值:',$str1,'<br>';
echo'前后去空格:',trim($str1),'<br>';echo'左侧去空格:',ltrim($str1),'<br>';echo'右侧去空格:',rtrim($str1),'<br>';
echo'原始值:',$str2,'<br>';
echo'前后去a:',trim($str2,'a'),'<br>';echo'左侧去a:',ltrim($str2,'a'),'<br>';echo'右侧去a:',rtrim($str2,'a'),'<br>';
//5、lcfirst(string)//6、ucfirst(string)//7、ucwords(string)//8、strtoupper(string)//9、strtolower(string)
将字符串首字母转换为小写
将字符串首字母转换为大写
将字符串 中 每个 单词的首字母转换为大写
将字符串全部转换为大写
将字符串全部转换为小写
$str3='HELLOWORLD';$str4='helloworld';$str5='hello world';
当charlist参数不填时,默认删除 空格,换行,制表符,回车等
echo'$str3原始值:',$str3,'<br>';
echo'$str3首字母转换为小写:',lcfirst($str3),'<br>';echo'$str4原始值:',$str4,'<br>';
echo'$str4首字母转换为大写:',ucfirst($str4),'<br>';
echo'$str4所有单词的首字母转换为大写:',ucwords($str4),'<br>';echo'$str5原始值:',$str5,'<br>';
//单词 指的是以空格隔开的
echo'$str5所有单词的首字母转换为大写:',ucwords($str5),'<br>';
echo'$str3全部转换为小写:',strtolower($str3),'<br>';echo'$str4全部转化为大写:',strtoupper($str4),'<br>';
//10、str_replace(find,replace,string,count)替换字符串中的一些字符(区分大小写);
// find需要被替换的值(必选)
// replace要替换成的值 (必选)
// string需要查找的字符串(必选)
// count对替换进行计数(可选)(参数是一个变量);
$str6='aaaaaaAAAAAAA';$count= 0;
echo'$str6原始值:',$str6,'<br>';echo'$str6替换a后的值',str_replace('a','#',$str6),'<br>';
echo'$str6替换a后的值',str_replace('a','#',$str6,$count),'<br>';echo'共被替换:',$count,'个字符<br>';
//11、stripos(string,find,start)查找字符串在另一字符串中第一次出现的位置(不区分大小写)。
// string要被搜索的字符串(必选)
// find要匹配的字符串(必选)
// start从下标 几 开始匹配 (可选)
//12、strripos(string,find,start)查找字符串在另一字符串中最后一次出现的位置(不区分大小写)。//13、strpos(string,find,start)查找字符串在另一字符串中第一次出现的位置(区分大小写)。//14、strrpos(string,find,start)查找字符串在另一字符串中最后一次出现的位置(区分大小写)。
$str7='aaaSsaaaaaaSsaaa';
echo'$str7原始值是:',$str7,'<br>';echo'不区分大小写查找s第一次出现的位置:',stripos($str7,'s'),'<br>';echo'不区分大小写查找S最后一次出现的位置:',strripos($str7,'S'),'<br>';echo'区分大小写查找小s第一次出现的位置:',strpos($str7,'s'),'<br>';echo'区分大小写查找大S最后一次出现的位置:',strrpos($str7,'S'),'<br>';
//指定匹配位置
echo'不区分大小写查找s从5开始第一次出现的位置:',stripos($str7,'s',5),'<br>';
//15、strlen(string)返回字符串长度
echo'$str7的长度:',strlen($str7),'<br>';
//16、strrev(string)字符串反转
$str8='abcdefghijk';
echo'$str8原始值:',$str8,'<br>';
echo'$str8反转:',strrev($str8),'<br>';
//17、substr(string,start,length)字符串的截取
//
//
//
//
//
//
//
//
//
string需要被截取的字符串(必选)
start
length
截取的开始位置(必选)
正数 -在字符串的指定位置开始
负数 -在从字符串结尾的指定位置开始
0 -在字符串中的第一个字符处开始规定要返回的字符串长度。默认是直到字符串的结尾。(可选)正数-从start参数所在的位置开始截取
负数 -从字符串末端开始截取
0不截取
$str9='1234567890';
echo'$str9原始值:',$str9,'<br>';
echo'从下标3开始截取:',substr($str9,3),'<br>';
echo'从0开始,截取5位:',substr($str9,0,5),'<br>';
echo'从下标4开始,截取5位:',substr($str9,4,5),'<br>';echo'从倒数第7位开始,截取5位:',substr($str9,-7,5),'<br>';
echo'从倒数第1位之前的位置开始,截取到倒数第4位:',substr($str9,-4,-1),'<br>';七:PHP的分支语句
1、if 语句 - 在条件成立时执行代码
2、if...else 语句- 在条件成立时执行一块代码,条件不成立时执行另一块代码3、if...else if....else 语句- 在若干条件之一成立时执行一个代码块4、switch 语句- 在若干条件之一成立时执行一个代码块
<?php
$x= 10;
$y= 10;
if($x==$y) {
echo'$x与$y的值相等<br>';
}
if($x>$y) {
echo'$x的值大于$y的值<br>';
} else{
echo'$x与$y的值相等<br>';
}
if($x>$y) {
echo'$x的值大于$y的值<br>';
} elseif($x<$y) {
echo'$x的值小于$y的值<br>';
} else{
echo'$x与$y的值相等<br>';
}$favcolor="while";
switch($favcolor){case"red":
echo"你喜欢的颜色是红色!";
break;case"blue":
echo"你喜欢的颜色是蓝色!";
break;case"green":
echo"你喜欢的颜色是绿色!";
break;default:
echo"你喜欢的颜色不是 红,蓝,或绿色!";}
八:PHP的循环语句
1、while - 只要指定的条件成立,则循环执行代码块
2、do...while - 首先执行一次代码块,然后在指定的条件成立时重复这个循环3、for- 循环执行代码块指定的次数
4、foreach - 根据数组中每个元素来循环代码块(数组课程后进行补充)
$i= 0;
while($i<= 10) {
echo"这是第{$i}次循环<br>";
$i++;}
echo'<hr>';
$j= 0;do{
echo"这是第{$j}次循环";
$j++;}while($j<0);
echo'<hr>';
for($x=0;$x< 10 ;$x++) {echo"这是第{$x}次循环<br>";
}
九:PHP的数组A)数组定义
在 PHP 中,有三种数组类型:
> 索引数组 - 带有数字索引的数组
> 关联数组 - 带有指定键的数组
> 多维数组 - 包含一个或多个数组的数组
PHP 索引数组 : 有两种创建索引数组的方法:
1、声明是直接赋值(索引从 0 自动分配),语法:$cars=array("Volvo","BMW","SAAB");2、声明后手动赋值,语法:
$cars=array();$cars[0]="Volvo";$cars[1]="BMW";$cars[2]="SAAB";
PHP 关联数组 : 关联数组是使用您分配给数组的指定键的数组。1、声明是直接赋值,语法:$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");2、先声明后赋值,语法:
$age=array()$age['Peter']="35";$age['Ben']="37";$age['Joe']="43";
3、随后可以在脚本中使用指定键:
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");echo"Peter is ".$age['Peter'] . " years old.";
多维数组
一个数组中的值可以是另一个数组,另一个数组的值也可以是一个数组。依照这种方式,我们可以创建二维或者三维数组:
<?php
//二维数组:$cars=array(
);?>
B)数组循环
array("Volvo",100,96),array("BMW",60,59),array("Toyota",110,100)
1、获得数组的长度 - count() 函数,count() 函数用于返回数组的长度(元素数):
$cars=array("Volvo","BMW","SAAB");echo count($cars);
2、遍历索引数组
如需遍历并输出索引数组的所有值,您可以使用 for 循环,就像这样:
<?php$cars=array("Volvo","BMW","SAAB");$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++) {echo$cars[$x];
echo"<br>";
}
//使用foreach循环 对数组进行循环操作
$arr=array("a","b","c");
$arr2=array("a"=>100,"b"=>200,"c"=>300);foreach($arras$key=>$value) {
echo$key,":",$value,"<br>";
}
foreach($arr2as$key=>$value) {echo$key,":",$value,"<br>";
}
echo"<hr>";
//foreach循环 只定义一个参数,用于循环值foreach($arras$a) {
echo"$a<br>";}
?>
D)数组排序方法
扩展: print_r() 方法,该方法输出易读格式,常配合<pre> 标签使用
> sort() - 对数组进行升序排列
> rsort() - 对数组进行降序排列
> asort() - 根据关联数组的值,对数组进行升序排列> ksort() - 根据关联数组的键,对数组进行升序排列> arsort() - 根据关联数组的值,对数组进行降序排列> krsort() - 根据关联数组的键,对数组进行降序排列
<?php
$arr=array("b","a","c");echo"<pre>";
echo"原始数组:";print_r($arr);
sort($arr);//直接修改原数组的值echo"升序数组:";print_r($arr);
rsort($arr);echo"降序数组:";print_r($arr);
//关联数组排序
$arr2=array("c"=>"35","b"=>"43","a"=>"37");
echo"原始数组:";print_r($arr2);
//以值为依据进行升序排序asort($arr2);
echo"值升序数组:";print_r($arr2);
//以值为依据进行降序排序arsort($arr2);
echo"值降序数组:";print_r($arr2);
//以键为依据进行升序排序ksort($arr2);
echo"键升序数组:";print_r($arr2);
//以键为依据进行降序排序krsort($arr2);
echo"键降序数组:";print_r($arr2);
echo"</pre>";
十:PHP的函数
** PHP函数简介:PHP真正的威力来源与它内置的函数,php内置函数超过1000个,涉及到字符、数组、时间等等。
语法:functionfunctionName(参数,......){要执行的代码;
}
//无参无返回值函数functionshow(){
echo"这是一个无参无返回值的参数";}
show();echo"<hr>";
functionshow2($i,$j){$sum=$i+$j;
echo"这是一个有参无返回值的函数,计算结果为:$sum";}
show2(1,2);echo"<hr>";
functionshow3($i,$j){
echo"这是一个有参有返回值的函数";return$i+$j;
}
$temp= show3(2,3);
echo",计算结果为:$temp";
<?php
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。