博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
23、php知识点总结基础教程--part-1
阅读量:6452 次
发布时间:2019-06-23

本文共 7091 字,大约阅读时间需要 23 分钟。

1、基本语法

PHP 脚本可放置于文档中的任何位置。

PHP 脚本以 <?php 开头,以 ?> 结尾

PHP 文件的默认文件扩展名是 ".php"。

PHP 文件通常包含 HTML 标签以及一些 PHP 脚本代码。

下面的例子是一个简单的 PHP 文件,其中包含了使用内建 PHP 函数 "echo" 在网页上输出文本 "Hello World!" 的一段 PHP 脚本

我的第一张 PHP 页面

 

2、php注释

  

 

3、php是大小写 不敏感的

";echo "Hello World!
";EcHo "Hello World!
";?>

 

4、php变量

变量视为存储数据的容器,

PHP 是一门类型松散的语言

在上面的例子中,请注意我们不必告知 PHP 变量的数据类型。

PHP 根据它的值,自动把变量转换为正确的数据类型

PHP 变量规则:

  • 变量以 $ 符号开头,其后是变量的名称
  • 变量名称必须以字母或下划线开头
  • 变量名称不能以数字开头
  • 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
  • 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)

注释:PHP 变量名称对大小写敏感!

PHP 有三种不同的变量作用域:

  • local(局部)  函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。
  • global(全局) 函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。global 关键词用于访问函数内的全局变量,要做到这一点,请在(函数内部)变量前面使用 global 关键词
  • static(静态)

 

!doctype html>

 

在函数内部测试变量:

"; echo "变量 x 是:$x"; echo "
"; echo "变量 y 是:$y";} myTest();echo "

在函数之外测试变量:

";echo "变量 x 是:$x";echo "
";echo "变量 y 是:$y";?>

 

以上代码输出结果为15(演示global变量使用方法)

 

";myTest();echo "
";myTest();echo "
";myTest();echo "
";myTest();?>

以上代码输出结果为0,1,2,3,4,5,(演示static静态变量用,然后,每当函数被调用时,这个变量所存储的信息都是函数最后一次被调用时所包含的信息,注释:该变量仍然是函数的局部变量)

 

5、echo和print语句

echo 和 print 之间的差异:

  • echo - 能够输出一个以上的字符串
  • print - 只能输出一个字符串,并始终返回 1

提示:echo 比 print 稍快,因为它不返回任何值。

echo 、print都是一个语言结构,有无括号均可使用:echo 或 echo()、:print 或 print()。

PHP 很有趣!";echo "Hello world!
";echo "我计划学习 PHP!
";echo "这段话", "由", "多个", "字符串", "串接而成。";$txt1="Learn PHP";$txt2="W3School.com.cn";$cars=array("Volvo","BMW","SAAB");echo $txt1;echo "
";echo "Study PHP at $txt2";echo "
";echo "My car is a {$cars[0]}";?>

 

PHP is fun!";print "Hello world!
";print "I'm about to learn PHP!";$txt1="Learn PHP";$txt2="W3School.com.cn";$cars=array("Volvo","BMW","SAAB");print $txt1;print "
";print "Study PHP at $txt2";print "
";print "My car is a {$cars[0]}";?>

 

6、php数据类型

字符串、整数、浮点数、逻辑、数组、对象、NULL。

"; $x = 'Hello world!';echo $x;//整数
"; $x = -345; // 负数 var_dump($x);echo "
"; $x = 0x8C; // 十六进制数var_dump($x);echo "
";$x = 047; // 八进制数var_dump($x);//浮点数$x = 10.365;var_dump($x);echo "
"; $x = 2.4e3;var_dump($x);echo "
"; $x = 8E-5;var_dump($x);//boolean$x=true;$y=false;//数组$cars=array("Volvo","BMW","SAAB");var_dump($cars);//对象class Car{ var $color; function Car($color="green") { $this->color = $color; } function what_color() { return $this->color; }}//打印对象中的变量function print_vars($obj) { foreach (get_object_vars($obj) as $prop => $val) { echo "\t$prop = $val\n"; }}//对对象进行初始化$herbie = new Car("white");// show herbie propertiesecho "\herbie: Properties\n";print_vars($herbie);/*特殊的 NULL 值表示变量无值。NULL 是数据类型 NULL 唯一可能的值。NULL 值标示变量是否为空。也用于区分空字符串与空值数据库。可以通过把值设置为 NULL,将变量清空*/$x="Hello world!";$x=null;var_dump($x)?>

 

 

7、php字符串函数

strlen("Hello world!");

以上代码的输出是:12

提示:strlen() 常用于循环和其他函数,在确定字符串何时结束很重要时。(例如,在循环中,我们也许需要在字符串的最后一个字符之后停止循环)。、

以上代码的输出是:6。

提示:上例中字符串 "world" 的位置是 6。是 6(而不是 7)的理由是,字符串中首字符的位置是 0 而不是 1。

 

8、php常量

常量类似变量,但是常量一旦被定义就无法更改或撤销定义。

如需设置常量,请使用 define() 函数 - 它使用三个参数:

  1. 首个参数定义常量的名称
  2. 第二个参数定义常量的值
  3. 可选的第三个参数规定常量名是否对大小写敏感。默认是 false。

下例创建了一个对大小写敏感的常量,值为 "Welcome to W3School.com.cn!":

define("GREETING", "Welcome to W3School.com.cn!");echo GREETING;

 

下例创建了一个对大小写不敏感的常量,值为 "Welcome to W3School.com.cn!":

define("GREETING", "Welcome to W3School.com.cn!", true);echo greeting;

 

9、运算符

①算数运算符

运算符 名称 例子 结果
+ 加法 $x + $y $x 与 $y 求和
- 减法 $x - $y $x 与 $y 的差数
* 乘法 $x * $y $x 与 $y 的乘积
/ 除法 $x / $y $x 与 $y 的商数
% 模数 $x % $y $x 除 $y 的余数
$x=10; $y=6;echo ($x + $y); // 输出 16echo ($x - $y); // 输出 4echo ($x * $y); // 输出 60echo ($x / $y); // 输出 1.6666666666667echo ($x % $y); // 输出 4

 

②值运算符

赋值 等同于 描述
x = y x = y 右侧表达式为左侧运算数设置值。
x += y x = x + y
x -= y x = x - y
x *= y x = x * y
x /= y x = x / y
x %= y x = x % y 模数

 

③字符串运算符

运算符 名称 例子 结果
. 串接 $txt1 = "Hello" $txt2 = $txt1 . " world!" 现在 $txt2 包含 "Hello world!"
.= 串接赋值 $txt1 = "Hello" $txt1 .= " world!" 现在 $txt1 包含 "Hello world!"

 

 

④递增递减运算符

运算符 名称 描述
++$x 前递增 $x 加一递增,然后返回 $x
$x++ 后递增 返回 $x,然后 $x 加一递增
--$x 前递减 $x 减一递减,然后返回 $x
$x-- 后递减 返回 $x,然后 $x 减一递减

 

 

⑤比较运算符

运算符 名称 例子 结果
== 等于 $x == $y 如果 $x 等于 $y,则返回 true。
=== 全等(完全相同) $x === $y 如果 $x 等于 $y,且它们类型相同,则返回 true。
!= 不等于 $x != $y 如果 $x 不等于 $y,则返回 true。
<> 不等于 $x <> $y 如果 $x 不等于 $y,则返回 true。
!== 不全等(完全不同) $x !== $y 如果 $x 不等于 $y,且它们类型不相同,则返回 true。
> 大于 $x > $y 如果 $x 大于 $y,则返回 true。
< 大于 $x < $y 如果 $x 小于 $y,则返回 true。
>= 大于或等于 $x >= $y 如果 $x 大于或者等于 $y,则返回 true.
<= 小于或等于 $x <= $y 如果 $x 小于或者等于 $y,则返回 true。
";var_dump($x === $y);echo "
";var_dump($x != $y);echo "
";var_dump($x !== $y);echo "
";$a=50;$b=90;var_dump($a > $b);echo "
";var_dump($a < $b);?>

 

⑥逻辑运算符

运算符 名称 例子 结果
and $x and $y 如果 $x 和 $y 都为 true,则返回 true。
or $x or $y 如果 $x 和 $y 至少有一个为 true,则返回 true。
xor 异或 $x xor $y 如果 $x 和 $y 有且仅有一个为 true,则返回 true。
&& $x && $y 如果 $x 和 $y 都为 true,则返回 true。
|| $x || $y 如果 $x 和 $y 至少有一个为 true,则返回 true。
! !$x 如果 $x 不为 true,则返回 true。

⑦数组运算符

运算符 名称 例子 结果
+ 联合 $x + $y $x 和 $y 的联合(但不覆盖重复的键)
== 相等 $x == $y 如果 $x 和 $y 拥有相同的键/值对,则返回 true。
=== 全等 $x === $y 如果 $x 和 $y 拥有相同的键/值对,且顺序相同类型相同,则返回 true。
!= 不相等 $x != $y 如果 $x 不等于 $y,则返回 true。
<> 不相等 $x <> $y 如果 $x 不等于 $y,则返回 true。
!== 不全等 $x !== $y 如果 $x 与 $y 完全不同,则返回 true。
"red", "b" => "green"); $y = array("c" => "blue", "d" => "yellow"); $z = $x + $y; // $x 与 $y 的联合var_dump($z);var_dump($x == $y);var_dump($x === $y);var_dump($x != $y);var_dump($x <> $y);var_dump($x !== $y);?>

 

10、控制结构

if else

 

switch

 

While

"; $x++;} ?>

 

Do While循环

"; $x++;} while ($x<=5);?>

 

for循环

";} ?>

 

foreach循环

foreach 循环只适用于数组,并用于遍历数组中的每个键/值对

foreach ($array as $value) {  code to be executed;} 每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。
";}?>

 

 

11、函数

不带参数的函数

带参数的函数

";}familyName("Li");familyName("Hong");familyName("Tao");familyName("Xiao Mei");familyName("Jian");?>

还有一种情况,是默认的参数:

";}setHeight(350);setHeight(); // 将使用默认值 50setHeight(135);setHeight(80);?>

函数返回值:

";echo "7 + 13 = " . sum(7,13) . "
";echo "2 + 4 = " . sum(2,4);?>

 

 

12、数组

数组能够在单独的变量名中存储一个或多个值。

 

在 PHP 中,有三种数组类型:

  • 索引数组 - 带有数字索引的数组
  • 关联数组 - 带有指定键的数组
  • 多维数组 - 包含一个或多个数组的数组

①索引数组

索引是自动分配的(索引从 0 开始):

$cars=array("Volvo","BMW","SAAB");

或者也可以手动分配索引:

$cars[0]="Volvo";$cars[1]="BMW";$cars[2]="SAAB"; 获取数组长度

遍历数组

";}?>

 

②关联数组

关联数组是使用您分配给数组的指定键的数组。

有两种创建关联数组的方法:

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

或者:

$age['Peter']="35";$age['Ben']="37";$age['Joe']="43";
"35","Steve"=>"37","Peter"=>"43");echo "Peter is " . $age['Peter'] . " years old.";?>

遍历:

"35","Steve"=>"37","Peter"=>"43");foreach($age as $x=>$x_value) { echo "Key=" . $x . ", Value=" . $x_value; echo "
";}?>

 

③多维数组

 

13、排序

  • sort() - 以升序对数组排序
  • rsort() - 以降序对数组排序
  • asort() - 根据值,以升序对关联数组进行排序
  • ksort() - 根据键,以升序对关联数组进行排序
  • arsort() - 根据值,以降序对关联数组进行排序
  • krsort() - 根据键,以降序对关联数组进行排序

 

14、超全局变量

超全局变量 在 PHP 4.1.0 中引入,是在全部作用域中始终可用的内置变量。

PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。

这些超全局变量是:

  • $GLOBALS  引用全局作用域中可用的全部变量
  • $_SERVER 这种超全局变量保存关于报头、路径和脚本位置的信息。
  • $_REQUEST  用于收集 HTML 表单提交的数据。
  • $_POST 广泛用于收集提交 method="post" 的 HTML 表单后的表单数据。$_POST 也常用于传递变量
  • $_GET 可用于收集提交 HTML 表单 (method="get") 之后的表单数据。
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

 

转载于:https://www.cnblogs.com/kunyashaw/p/5383289.html

你可能感兴趣的文章
4.6 直接插入排序法
查看>>
我的毕设总结所用的技术和只是要点 基于stm32F4的AGV嵌入式控制系统的设计
查看>>
盘点国内外那些有野心的BI公司
查看>>
JMeter—断言
查看>>
C++的新类创建:继承与组合
查看>>
m5-第9周作业
查看>>
odoo 权限设置
查看>>
asp操作access提示“无法从指定的数据表中删除”
查看>>
git bash 风格调整
查看>>
997D Cycles in product
查看>>
bzoj4589 Hard Nim
查看>>
java实现pdf旋转_基于Java实现PDF文本旋转倾斜
查看>>
java二维数组内存模型_C++二级指针第二种内存模型(二维数组)
查看>>
java static import 与 import_Java中的import和static import语句之间有什么区别?
查看>>
python time库3.8_python3中datetime库,time库以及pandas中的时间函数区别与详解
查看>>
java 代替Python_Java总是“沉沉浮浮”,替代者会是Python?
查看>>
贪吃蛇java程序简化版_JAVA简版贪吃蛇
查看>>
poi java web_WebPOI JavaWeb 项目 导出excel表格(.xls) Develop 238万源代码下载- www.pudn.com...
查看>>
java 顶点着色_金属顶点着色器绘制纹理点
查看>>
php扩展有哪些G11,php 几个扩展(extension)的安装笔记
查看>>