PHP概述
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”) 是一种免费开源的服务器端脚本程序。利于学习,使用广泛,主要适用于Web开发领域。可以运行在 UNIX、 LINUX、WINDOWS下。
作为一个后台语言,标准的变量、数据类型、运算、选择结构、循环结构、函数、数组;跟大多数的编程语言是一样的。唯一的差别,基本都在一些语法上。
服务器安装+环境配置
WampServer软件
WampServer是一款由法国人开发的Apache Web服务器、PHP解释器以及MySQL数据库 的整合软件包。
分界标示符 扩展名.php <?php ?> 或 <?phps
标识符/关键字
标识符:标识符是变量的名称,关于标识符,PHP 定义了一些简单的规则:
标识符可以是任何长度,而且可以由任何字母、数字、下划线组成。
标识符不能以数字开始。
在PHP 中,标识符是区分大小写的。
关键字:关键字在 PHP 中有着特殊的意义。它们中有些像是函数,有些像是常量……但是它们不是的,它们只是语言结构的一部分。不能使用它们的任何一个作为常量、方法名或是类名。但是可以将它们作为变量名使用,不过这样会导致混淆。
数据类型--PHP 支持8种基本的数据类型。
四种标量类型:
boolean (布尔型) integer (整型)
float (浮点型, 也称作 double) string (字符串)
两种复合类型:
array (数组) object (对象)
最后是两种特殊类型:
resource (资源):资源是由专门的函数来建立和使用的,例如打开文件、数据连接、图形画布。我们可以对资源进行操作(创建、使用和释放)。
NULL (NULL)
PHP 是一种非常弱的类型语言。在大多数编程语言中,变量只能保存一种类型的数据,而且这个类型必须在使用变量之前声明。而在 PHP 中,变量的类型是由赋值给变量的值确定的。
数据类型的获取和设置:gettype( ) settype( )
php的输出:echo、print、print_r、var_dump
echo、print本身是函数,但这里的输出函数可以省略括号,用空格加上所需显示的字符串或变量。区别是echo没有返回值,print有int类型的返回值。
print_r的功能是打印一个变量的易于理解的信息,与echo和print的区别是,比如输出一个数组,echo和print输出的是Array,而print_r输出的除了Array外,还会把数组里的成员也打印出来。Array ( [0] => zhangsan [1] => lisi [2] => wangwu )
var_dump和print_r的区别,var_dump列出的是变量的详细信息,而print_r列出的则是易于理解的一些基本信息。 array(3) { [0]=> string(8) "zhangsan" [1]=>string(4) "lisi" [2]=> string(6) "wangwu" }
选择结构、循环结构
if...else...
switch
for循环
while/do...while...
函数
自定义函数的声明和调用
函数的传参(参数指定默认值)和返回值
返回多个值的函数调用
函数的作用域
包含引用传参的函数:引用传递可以在函数内对参数的修改在函数范围外也有效。&
对象和类的概念
对象 ( object )
对象是一件事、一个实体、一个名词,可以获得的东西,可以想象有自己的标识的任何
东西。对象是类的实例化。
类 ( class )
类是对某个对象的定义。它包含有关对象动作方式的信息,包括它的名称、方法、属性
和事件。实际上它本身并不是对象,因为它不存在于内存中。当引用类的代码运行时,类的
一个新的实例,即对象,就在内存中创建了。虽然只有一个类,但能从这个类在内存中创建
多个相同类型的对象。
类的创建和对象的声明
指向结构体成员运算符
每个类的定义都以关键字 class 开头,后面跟着类名,后面跟着一对花括号,里面包含有类的属性与方法的定义。
要创建一个类的实例,必须使用 new 关键字
数组
传统上把数组(array)定义为一组有某种共同特性的元素,包括相似性和类型。每个元素由一个特殊的标识符来区分,称之为键(key);而每个键对应一个值(value)。
创建数据的两种方式
array创建
range():建立一个包含指定范围单元的数组
该函数创建一个数组,包含从 first 到 second (包含 first 和 second)之间的整数或字符。如果 second 比 first 小,则返回反序的数组。
1<?php $number = range(0,5); print_r ($number); ?>输出:
Array ( [0]=> 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 )
2<?php $number =range(0,50,10); print_r ($number); ?>输出:
Array ( [0]=> 0 [1] => 10 [2] => 20 [3] => 30 [4] => 40 [5] => 50 )
3<?php $letter =range("a","d"); print_r ($letter); ?>输出:
Array ( [0]=> a [1] => b [2] => c [3] => d )
数组的相关方法介绍
count()和 sizeof() 统计数组下标的个数
array_count_values()统计数组中所有的值出现的次数
array_unshift()函数将新元素添加到数组头
array_push()函数将每个新元素添加到数组的末尾。
array_shift()删除数组头第一个元素,与其相反的函数是 array_pop(),删除并返回数组末
尾的一个元素。
sort()数组排序
array
要排序的数组。
sort_flags
可选的第二个参数 sort_flags
可以用以下值改变排序的行为:
排序类型标记:
SORT_REGULAR
- 正常比较单元(不改变类型)SORT_NUMERIC
- 单元被作为数字来比较SORT_STRING
- 单元被作为字符串来比较SORT_LOCALE_STRING
- 根据当前的区域(locale)设置来把单元当作字符串比较,可以用 setlocale() 来改变。SORT_NATURAL
- 和 natsort() 类似对每个单元以“自然的顺序”对字符串进行排序。 PHP 5.4.0 中新增的。SORT_FLAG_CASE
- 能够与SORT_STRING
或SORT_NATURAL
合并(OR 位运算),不区分大小写排序字符串。
返回值
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
foreach()提供了遍历数组的简单方式,仅能够应用于数组和对象
$arr=array('name'=>'zhangsan','age'=>100,'sex'=>'男');
foreach($arr as $key => $value) {
echo $key;
echo '----------';
echo $value.'<br>';
}
each()返回数组中当前的键/值对并将数组指针向前移动一步
each() 函数生成一个由数组当前内部指针所指向的元素的键名和键值组成的数组,并把内部指针向前移动。
返回的数组中包括的四个元素:键名为 0,1,key 和 value。单元 0 和 key 包含有数组单元的键名,1和 value 包含有数据。
如果内部指针越过了数组范围,本函数将返回FALSE。
<?php
$people = array("Peter","Joe", "Glenn", "Cleveland");
print_r (each($people));
?>
输出:
Array ( [1] => Peter [value] => Peter[0] => 0 [key] => 0 )
list()把数组中的值赋给一些变量
reset()将数组的内部指针指向第一个单元
reset() 函数把数组的内部指针指向第一个元素,并返回这个元素的值。
若失败,则返回 FALSE。
$people = array("Peter", "Joe","Glenn", "Cleveland");
echo reset($people); Peter
array_unique() 移除数组中重复的值(生成新数组)
数组的遍历
for循环
foreach循环
生成动态页面
返回普通数据
返回JSON格式数据
json_encode() 对变量进行JSON编码
json_decode() 对JSON格式的字符串进行解码