今天开始总结PHP,在这里做下笔录,方便ppt教程素材,顺便供大家学习参考
【前言】
学之前看到一篇关于PHP初学者建议的文章,这里分享下
适用于PHP初学者的学习线路和建议:http://www.runoob.com/w3cnote/php-learning-recommend.html
PHP开发工具推荐:http://www.runoob.com/w3cnote/php-develop-tools.html
PHP在线工具:http://www.runoob.com/try/runcode.php?filename=demo_intro&type=php
PHP官网:http://www.php.net
【简介】
PHP全称:Hypertext Preprocessor即:"超文本预处理器",是一种通用开源脚本语言,当前最流行的网站开发语言。脚本原因是解释型语言,因为PHP是解析型语言,所以每次运行都会比编译型语言多出“编译”这个步骤。
拓展:解释型语言和编译型语言区别
编译型语言会在运行之前针对具体平台将代码编译链接成可执行的机器码;解析型语言直到运行时才逐行编译执行。
【PHP概论】
(1)什么是PHP?
(2)PHP能做什么?
(3)为什么使用PHP?
(4) PHP语言结构?
(5)PHP优缺点?
具体我在后面文章初识PHP里做了总结
【目录】
(1)环境安装;
(2)语法;
(3)变量;
(4)输出方式;
(5)数据类型;
(6)字符串函数;
(7)常量;
(8)运算符;
(9)条件语句;
(10)循环;
(11)函数;
(12)数组;
(13)数组排序;
(14)全局变量--超全局变量;
【PHP入门】
(1)环境安装
为了开始使用PHP,需要满足几个条件:
①支持 PHP 和 MySQL 的 Web 主机
②安装Web 服务器,PHP,数据库(比如 MySQL)
安装方式主要有两种:(1)自行配置;(2)PHP 服务器组件 / 组合包;
具体我在后面文章Windows下安装PHP开发环境里做了总结
拓展:
(一)IDE (Integrated Development Environment,集成开发环境)
IDE:用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。IDE多被用于开发HTML应用软件。例如,许多人在设计网站时使用IDE(如HomeSite、DreamWeaver、WebStorm等),因为很多项任务会自动生成
(二)PHP执行过程
通俗理解:浏览器找到服务器apache,因为是.php 结尾,所以把脚本程序会发送给PHP处理程序来处理。
PHP处理程序接受脚本文件后查看是否有数据库连接操作,若有则跟后端数据库交互,之后返回HTM语言,再返回给浏览器呈现出来
注意:PHP 脚本在服务器上执行,然后将纯 HTML 结果发送回浏览器
(2)PHP语法
①PHP 脚本可以放在文档中的任何位置,以 <?php 开始,以 ?> 结束
<?php
// PHP 代码
?>
②每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来
③两种在浏览器输出文本的基础指令:echo 和 print
④注释:单行注释和多行注释
<?php
// 这是 PHP 单行注释
/*
这是 PHP 多行
注释
*/
?>
(3)PHP变量
注意:PHP语句和变量都区分大小写
变量是用于存储信息的"容器":
<?php
$a = 5;$b = 6;$z = $a + $b;
echo $z;
print $b;
?>
类似代数:
x=5
y=6
z=x+y
在 PHP 中,这三个字母被称为变量。在代数中我们使用字母(比如 x)来保存值(比如 5)。从上面的表达式 z=x+y,我们能够计算出 z 的值是 11
【内容列表】
1. PHP变量规则
2. 创建 / 声明变量
3. 弱类型语言
4. 变量作用域
5. 作用域
①局部和全局作用域;②global关键字;③Static 作用域;④参数作用域
具体我在后面文章PHP变量与作用域里做了总结
(4)PHP输出方式
两种基本输出方式:print和echo
echo 和 print 区别:
1、echo 可以输出一个或多个字符串;
2、print 只允许输出一个字符串,返回值总为 1;
3、echo 输出的速度比 print 快;
4、echo 没有返回值,print 有返回值 1;
提示:echo 输出的速度比 print 快, echo 没有返回值,print有返回值1
①PHP的echo语句
echo 是一个语言结构,使用的时候可以不用加括号,也可以加上括号: echo 或 echo()
使用 echo 命令输出变量和字符串:
<?php
$txt1="学习 PHP";
$txt2="PHP学习站";
$cars=array("Volvo","BMW","Toyota");
echo $txt1;
echo "<br>";
echo "在 $txt2","学习","PHP ";
echo "<br>";
echo "我车的品牌是 {$cars[0]}";
?>
②PHP的print语句
print 同样是一个语言结构,可以使用括号,也可以不使用括号: print 或 print()
使用 print 命令输出变量和字符串:
<?php
$txt1="学习 PHP";
$txt2="PHP学习站";
$cars=array("Volvo","BMW","Toyota");
print $txt1;
print "<br>";
print "在 $txt2 学习 PHP ";
print "<br>";
print "我车的品牌是 {$cars[0]}";
?>
(5)数据类型
var_dump() 会返回变量的数据类型和值
字符串、整数、浮点数、布尔值、数组、对象、null
①字符串
字符串是字符序列,比如 "Hello world!",字符串可以是引号内的任何文本
②整数
整数是没有小数的数字,测试不同的数字,var_dump() 会返回变量的数据类型和值
可以用三种格式规定整数:十进制、十六进制(前缀是 0x,例0x8C)或八进制(前缀是 0,例047)
<?php
$a = 2;
var_dump($a);//整数型
echo"<br>";
$b = 2.2;
var_dump($b);//浮点型
echo"<br>";
$c = "a";
var_dump($c);//字符串
?>
③浮点数是有小数点或指数形式的数字
④布尔值true 或 false常用于条件测试
⑤数组array
声明数组:
$array = array(1,2,3,"1","2","3");
var_dump($array);
var_dump会输出数据类型和值,浏览器输出array(6) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> string(1) "1" [4]=> string(1) "2" [5]=> string(1) "3" }
⑥对象
对象是存储数据和有关如何处理数据的信息的数据类型。
在 PHP 中,必须明确地声明对象。首先必须声明对象的类。对此,使用 class 关键词。类是包含属性和方法的结构。然后在对象类中定义数据类型,之后在该类的实例中使用此数据类型
具体我在后面再作总结
⑦null
特殊的null值表示变量无值。null是数据类型 NULL 唯一可能的值。
null值标示变量是否为空。也用于区分空字符串与空值数据库。可以通过把值设置为null,将变量清空
<?php
$x="Hello world!";
$x=null;
var_dump($x);
?>
(6)字符串函数
①strlen() 函数返回字符串的长度,以字符计
注意:strlen() 常用于循环和其他函数,在确定字符串何时结束很重要(例如,在循环中,我们也许需要在字符串的最后一个字符之后停止循环)
②PHP 并置运算符
在 PHP 中,只有一个字符串运算符--并置运算符
并置运算符 (.) 用于把两个字符串值连接起来,接下来演示如何将两个字符串变量连接在一起:
<?php
$a = "第一";
$b = "第二";
echo $a."空格".$b;
?>
③strpos() 函数用于检索字符串内指定的字符或文本
如果找到匹配,则会返回首个匹配的字符位置;如果未找到匹配,则将返回false
注意:字符串中首字符的位置是 0 而不是 1
例如:检索字符串 "Hello world!" 中的文本 "world"
<?php
echo strpos("Hello world!","world");//输出6
?>
完整的字符串函数参考手册,请访问
PHP String 参考手册
(7)常量
常量是一个简单值的标识符,该值在脚本中不能改变
通常由英文字母、下划线、和数字组成,但数字不能作为首字母出现(常量名不需要加 $ 修饰符)
注意: 常量在整个脚本中都可以使用
设置 PHP 常量
设置常量,使用 define() 函数,函数语法如下:
bool define ( string $name , mixed $value ,case_insensitive[true/false] )
该函数有三个参数:
①name:必选参数,常量名称,即标志符;
②value:必选参数,常量的值;
③case_insensitive :可选参数,如果设置为true,该常量则大小写不敏感。默认false是大小写敏感的
1 . 区分大小写的常量, 常量值为 "欢迎访问":
<?php
// 区分大小写的常量名
define("GREETING", "欢迎访问");
echo GREETING; // 输出 "欢迎访问"
echo '<br>';
echo greeting; // 输出 "greeting"
?>
2. 以下创建一个不区分大小写的常量, 常量值为 "欢迎访问":
<?php
// 不区分大小写的常量名
define("GREETING", "欢迎访问", true);
echo greeting; // 输出 "欢迎访问"
?>
常量是全局的:
常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用
以下演示了在函数内使用常量,即便常量定义在函数外也可以正常使用常量
<?php
define("GREETING", "欢迎访问");
function myTest() {
echo GREETING;
}
myTest(); // 输出 "欢迎访问"
?>
(8)运算符
①算数运算符;
②赋值运算符;
③字符串运算符;
④递增 / 递减运算符;
⑤比较运算符;
⑥逻辑运算符;
⑦数组运算符;
具体详解我在后面文章PHP运算符详解里做了总结
(9)条件语句
编写代码时,经常会希望为不同的决定执行不同的动作。您可以在代码中使用条件语句来实现这一点。
在 PHP 中,我们可以使用以下条件语句:
①if 语句 - 如果指定条件为真,则执行代码
②if...else 语句 - 如果条件为 true,则执行代码;如果条件为 false,则执行另一端代码
③if...elseif....else 语句 - 选择若干段代码块之一来执行
④switch 语句 - 语句多个代码块之一来执行,可以避免冗长的 if..elseif..else 代码块
<?php
switch (n){
case label1:
如果 n=label1,此处代码将执行;
break;
case label2:
如果 n=label2,此处代码将执行;
break;
default:
如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}
?>
注意:工作原理:
①对表达式(通常是变量)进行一次计算
②把表达式的值与结构中 case 的值进行比较
③如果存在匹配,则执行与 case 关联的代码
④代码执行后,break 语句阻止代码跳入下一个 case 中继续执行
⑤如果没有 case 为真,则使用 default 语句
(10)循环
①while 循环
只要指定的条件为真,while 循环就会执行代码块
下例把变量 $x 设置为 1($x=1),然后执行 while 循环,只要 $x 小于或等于 5。循环每运行一次,$x 将递增 1:
<?php
$x=1;$num;
while($x<=5) {
global $num;
echo "这个数字是:$x <br>";
$num+=$x;
$x++;
echo "总数是:$num <br>";
}
?>
②do...while 循环
首先会执行一次代码块,然后检查条件,如果指定条件为真,则重复循环
下例首先把变量 $x 设置为 1($x=1),然后do while 循环输出一段字符串,然后对变量 $x 递增 1,随后对条件进行检查($x 是否小于或等于 5);只要 $x 小于或等于 5,循环将会继续运行:
<?php
$x=1;
do {
echo "这个数字是:$x <br>";
$x++;
} while ($x<=5);
?>
③for 循环
如果已经提前确定脚本运行的次数,可以使用 for 循环
语法:
for (init counter;test counter评估每个循环迭代; increment counter) {
code to be executed;
}
init counter:初始化循环计数器的值;
increment counter:增加循环计数器的值;
test counter评估每个循环迭代;
下例显示了从 0 到 10 的数字:
<?php
for ($x=0; $x<=10; $x++) {
echo "数字是:$x <br>";
}
?>
④foreach 循环
foreach 循环只适用于数组,并用于遍历数组中的每个键/值对
<?php
$colors = array("red","green","blue","yellow");
foreach ($colors as $value) {
echo "$value <br>";
}
?>
(11)函数
PHP有超过1000个内建的函数,还可以自定义函数。页面加载时函数不会立即执行,只有在被调用时才会执行。
①自定义函数
函数名能够以字母或下划线开头(而非数字),函数名对大小写不敏感,且应该能够反映函数所执行的任务
<?php
function writeMsg() {
echo "我被调用了";
}
writeMsg(); // 调用函数
?>
②函数参数
可以通过参数向函数传递信息,参数类似变量
参数被定义在函数名之后,括号内部;可以添加任意多参数,只要用逗号隔开即可
<?php
function familyName($fname,$lname) {
echo "$fname $lname.<br>";
}
familyName("Li","Mei");
familyName("Hong","Mei");
familyName("Tao","Mei");
familyName("Xiao","Mei");
familyName("Jian","Mei");
?>
③默认参数值
下例展示了如何使用默认参数。如果我们调用没有参数的 setHeight() 函数,它的参数会取默认值50
<?php
function setHeight($minheight=50) {
echo "The height is : $minheight <br>";
}
setHeight(350);
setHeight(); // 将使用默认值 50
setHeight(135);
setHeight(80);
?>
④函数返回值
如需使函数返回值,可以使用 return 语句:
<?php
function sum($x,$y) {
$z=$x+$y;
return $z;
}
echo "5 + 10 = " . sum(5,10) . "<br>";
echo "7 + 13 = " . sum(7,13) . "<br>";
echo "2 + 4 = " . sum(2,4);
?>
(12)数组
①简介:数组是特殊的变量,能够在单独的变量名中存储一个或多个值
②创建:array() 函数用于创建数组
③类型:有三种数组类型:
1. 索引数组 - 带有数字索引的数组
2. 关联数组 - 带有指定键的数组
3. 多维数组 - 包含一个或多个数组的数组
④索引数组:两种创建方法
1. 自动分配索引(索引从 0 开始):
$cars=array("Volvo","BMW","SAAB");
2. 手动分配索引:
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="SAAB";
⑤数组长度:count() 函数用于返回数组的长度(元素数):
<?php
$cars=array("Volvo","BMW","SAAB");
echo count($cars);
?>
⑥遍历索引数组
如需遍历并输出索引数组的所有值,可以使用 for 循环,就像这样:
<?php
$cars=array("Volvo","BMW","SAAB");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++) {
echo $cars[$x];
echo "<br>";
}
?>
⑦关联数组:使用指定键的数组,两种创建方法:
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
//或者
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";
⑧遍历关联数组
如需遍历并输出关联数组的所有值,可以使用 foreach 循环,就像这样:
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
foreach($age as $x=>$x_value) {
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
⑨多维数组,关于多维数组我在后面文章PHP数组详解做了介绍
(13)数组排序
数组中的元素能够以字母或数字顺序进行升序或降序排序
数组排序函数:
①sort() - 以升序对数组排序
②rsort() - 以降序对数组排序
③ksort() - 根据键,以升序对关联数组进行排序
④krsort() - 根据键,以降序对关联数组进行排序
⑤asort() - 根据值,以升序对关联数组进行排序
⑥arsort() - 根据值,以降序对关联数组进行排序
下面依次详解:
①对数组进行升序排序 - sort()
1. 按照字母升序对数组 $cars 中的元素进行排序:
<?php
$cars=array("Volvo","BMW","SAAB");
sort($cars);
?>
2. 数字升序对数组 $numbers 中的元素进行排序:
<?php
$numbers=array(3,5,1,22,11);
sort($numbers);
?>
②对数组进行降序排列语法,与数组升序排列相同(在之前加上rsort即可)
③根据键对数组进行升序排序 - ksort(),实例
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
ksort($age);
?>
④根据键对数组进行降序排序 - krsort(),实例
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
krsort($age);
?>
⑤根据值对数组进行升序排序 - asort(),实例:
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
asort($age);
?>
⑥根据值对数组进行降序排序 - arsort(),实例
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
arsort($age);
?>
(14)全局变量---超全局变量
超全局变量 在 PHP 4.1.0 中引入,是在全部作用域中始终可用的内置变量
PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。这些超全局变量是:
$GLOBALS,$_SERVER,$_REQUEST,
$_POST,$_GET,$_FILES,
$_ENV,$_COOKIE,$_SESSION
下面依次介绍个别:
①$GLOBALS — 引用全局作用域中可用的全部变量;
②$_SERVER 保存关于报头、路径和脚本位置的信息;
③$_REQUEST 用于收集 HTML 表单提交的数据;
④$_POST 广泛用于收集提交 method="post" 的 HTML 表单后的表单数据,也常用于传递变量;
⑤$_GET常用于收集提交 HTML 表单 (method="get") 之后的表单数据,也可以收集 URL 中的发送的数据
具体我在后面文章PHP全局变量详解里做了总结
【总结拓展】
①常见的输出语句
echo(): 可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用;
print(): 函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false;
print_r(): 可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"\n"。因此用var_dump()函数更适合调试;
var_dump(): 判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构
②PHP常用循环语句
while - 只要指定条件为真,则循环代码块
do...while - 先执行一次代码块,然后只要指定条件为真则重复循环
for - 循环代码块指定次数
foreach - 遍历数组中的每个元素并循环代码块
【常见错误】
①解析错误:语法错误,出现意外的'echo'
Parse error: syntax error, unexpected 'echo'
出现这种错误提示一般是由于语法错误,我第一次出现是因为将注释与<?php ?>同行,导致解析错误。所以 注意:不要将注释与<?php ?>同行
②语法错误:print无法打印多个字符串
Parse error: syntax error, unexpected ','
解析错误:语法错误,意外的','号
③语法错误:输出后未加封号
Parse error: syntax error, unexpected ';'
解析错误:语法错误,缺少;号
.
分享到:
相关推荐
以下是对"PHP高级教程php详解"这一主题的详细解读: 一、PHP变量 PHP中的变量以$符号开头,可以存储各种类型的数据,如字符串、整型、浮点型、数组和对象。变量在声明时不需要预先指定类型,而是根据赋值自动确定。...
**PHP入门教程详解介绍** PHP(Hypertext Preprocessor,超文本预处理器)是一种广泛使用的开源脚本语言,尤其在Web开发领域应用广泛。它的主要特点是语法简洁、学习曲线平缓,适合初学者快速上手。本文将深入浅出...
### ZedGraph控件属性及基础教程详解 #### 一、概述 ZedGraph是一款功能强大的图表绘制控件,广泛应用于C# WinForm应用程序中。它不仅提供了丰富的自定义选项,还支持多种图表类型,包括但不限于柱状图、饼图和...
ZedGraph来源:http://sourceforge.net/project/showfiles.php?group_id=114675 ZedGraph相关例子资源:http://zedgraph.org/wiki/index.php?title=Sample_Graphs 1、在vs中使用ZedGraph 2、一些基本概念 几个注意点...
Json 入门教程详解基础 Json 是一种轻量级的数据交换格式,相比 XML 和 HTML 片段,它提供了更好的简单性和灵活性。Json 数据格式解析简单,易于阅读和编写,可以传输简单的 String、Number、Boolean,也可以传输...
### PHP基础教程知识点详解 #### 1. PHP简介 - **定义**: - PHP(Hypertext Preprocessor,超文本预处理器)是一种开放源代码的多用途脚本语言,可嵌入到HTML中,特别适合于Web开发。 - PHP能够在服务器端执行,...
### PHP基础教程知识点详解 #### 一、PHP简介与开发环境搭建 **1.1 Web程序工作原理** Web程序的工作原理主要包括客户端与服务器端之间的交互。客户端通过浏览器发送请求到服务器,服务器根据请求处理相应的逻辑...
PHP100视频教程32:PHP5中Cookie与 Session详解 PHP100视频教程33:PHP5中图片验证码的制作(上) PHP100视频教程34:PHP5中图片中文验证码(下) PHP100视频教程35:PHP5文字图片混合水印与缩略图 PHP100视频...
**PHP基础** 1. **语法特性**:PHP的语法与C和Java类似,易于学习。它可以直接嵌入HTML代码中,也可以通过单独的PHP文件执行。 2. **变量**:PHP是弱类型语言,支持多种数据类型,如字符串、整型、浮点型、数组和...
根据文档内容,PHP基础知识主要涵盖以下几个方面: 1. 开发环境介绍:在开始编写PHP代码之前,需要配置合适的开发环境。文档提到了Zend Studio 13.6作为开发工具,PHP版本为7,以及Windows配合IIS服务器的组合。除...
### 零基础学习PHP-从零开始学习PHP-PHP基础教程-PHP简明教程 #### 重要知识点解析 **1. PHP语言简介** - **背景与特点**:PHP(Hypertext Preprocessor,超文本预处理器)是全球范围内广受青睐的Web开发语言之一...
### PHPMyAdmin基础安装教程详解 #### 一、引言 在现代Web开发中,数据库管理扮演着至关重要的角色。对于使用PHP语言进行网站或应用开发的开发者来说,PHPMyAdmin是一个不可或缺的工具,它提供了直观的Web界面来...
总的来说,《PHP网络编程技术详解》是一本全面而实用的PHP教程,适合初学者入门,也对有一定经验的开发者提供有价值的参考。通过学习这本书,你将能够熟练掌握PHP编程,构建功能丰富的Web应用,并具备解决实际问题的...
本课程适合没有编程基础或有基础的同学学习,学习基础语法和相关的模块开发以及数据库流程。 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
#### 一、PHP基础入门 **1.1 PHP的安装与配置** PHP是一种开放源代码的通用脚本语言,主要用于Web开发领域,并且能够被嵌入到HTML中。它支持多种操作系统,包括Windows、Linux和macOS等。在Linux环境下,通常使用...
### PHP基础教程——语法知识点详解 #### 一、前言 在《PHP基础教程-语法.pdf》这份资料中,我们不仅能够了解到如何选择、安装及配置PHP运行平台,还能够学习到一系列重要的PHP开发工具及其特点。这些内容为后续...