PHP头条
热点:

PHP学习笔记2-php基础语法,php学习笔记2-php


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、字符串--类型(字节长度) 一个中文字符占24个字节

对于不同的编码方式 汉字的字节数据不同GBK\GB2312编码是2个字节unicode\utf-8编码是3个字节。

3null -- 直接输出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/>";
//对于浮点类型的转换,使用floatdouble最终对是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实际在PHPfloatdouble没有区别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中不能使用echoprint输出布尔类型的值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

如果xy都为true,则返回true

x=6
y=3(x<10andy>1)
返回true

x or y

如果xy至少有一个为true,则返回true

x=6
y=3
(x==6 or y==5)
返回true

x xor y

异或

如果xy有且仅有一个为true,则返回true

x=6
y=3
(x==6 xor y==3)
返回false

x && y

如果xy都为true,则返回true

x=6
y=3(x<10&&y>1)
返回true

x || y

如果xy至少有一个为true,则返回true

x=6
y=3
(x==5 || y==5)
返回false

!x

如果x不为true,则返回true

x=6
y=3
!(x==y)
返回true

<?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,则返回truevar_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

// 1trim(string,charlist); 移除字符串两侧的空白字符或其他预定义字符,并返回 新的字符串

string为要进行删除的字符串(必选)charlist为要删除的字符(可选)

//
//
//
//2
ltrim(string,charlist)移除字符串左侧的空白字符或其他预定义字符,并返回 新的字符串//3rtrim(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>';

//5lcfirst(string)//6ucfirst(string)//7ucwords(string)//8strtoupper(string)//9strtolower(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>';

//10str_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>';

//11stripos(string,find,start)查找字符串在另一字符串中第一次出现的位置(不区分大小写)。

  • //  string要被搜索的字符串(必选)

  • //  find要匹配的字符串(必选)

  • //  start从下标 几 开始匹配 (可选)

    //12strripos(string,find,start)查找字符串在另一字符串中最后一次出现的位置(不区分大小写)。//13strpos(string,find,start)查找字符串在另一字符串中第一次出现的位置(区分大小写)。//14strrpos(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'不区分大小写查找s5开始第一次出现的位置:',stripos($str7,'s',5),'<br>';

    //15strlen(string)返回字符串长度
    echo'$str7的长度:',strlen($str7),'<br>';

    //16strrev(string)字符串反转
    $str8='abcdefghijk';
    echo'$str8原始值:',$str8,'<br>';
    echo'$str8反转:',strrev($str8),'<br>';

    //17substr(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

www.phpzy.comtrue/php/7926.htmlTechArticlePHP学习笔记2-php基础语法,php学习笔记2-php 02-PHP基础语法 1. PHP 语法 2. PHP 变量 和 数据类型 3. PHP 常量 和 可变变量 4. PHP echo/print 5. PHP 运算符 6. PHP 字符串常用方法7. PHP 分支语句 8. PHP...

相关文章

相关频道:

PHP之友评论

今天推荐