PHP 是服务器端脚本语言。
PHP 脚本以 <?php 开始,以 ?> 结束:
PHP 文件的默认文件扩展名是 ".php"。
PHP 文件通常包含 HTML 标签和一些 PHP 脚本代码。
PHP 变量规则:
PHP变量作用域:
PHP 有四种不同的变量作用域:
局部和全局作用域
在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字或者用 $GLOBALS[index] 数组
Static 作用域
当一个函数完成时,它的所有变量通常都会被删除。然而,有时候希望某个局部变量不要被删除。要做到这一点,请在第一次声明变量时使用 static 关键字
parameter参数作用域
参数是通过调用代码将值传递给函数的局部变量。
- local局部作用域
- global全局作用域
- static静态作用域
- parameter参数作用域
- 变量以 $ 符号开始,后面跟着变量的名称
- 变量名必须以字母或者下划线字符开始
- 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
- 变量名不能包含空格
- 变量名是区分大小写的($y 和 $Y 是两个不同的变量)
PHP echo 和 print 语句
echo 和 print 区别:
提示:echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。
print_r(): 可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"\n"。因此用var_dump()函数更适合调试。
var_dump(): 判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
- echo - 可以输出一个或多个字符串
- print - 只允许输出一个字符串,返回值总为 1
<?php
$text1="ni hao";
$text2="hahaha";
echo $text1." ".$text2."<br>"; //引用多个变量用 点 . (英文)连接 为空格
$a = strlen($text1);//计算字符串长度数
echo $a;
?>//空格也算作一个字符
强引用和弱引用
<?php
$text1 = "ni hao";
echo "$text1" . "<br>";// “ ” 双引号输出会显示变量值
echo '$text1';// ‘’ 单引号会显示变量名本身
?>
在 PHP 中,有三种类型的数组:
遍历并打印关联数组中的所有值,可以使用 foreach 循环
array(); 创建数组
count 获取数组的长度
var_dump() 返还数据类型
strlen(); 返回字符串长度
PHP - 数组排序函数
- sort() - 对数组进行升序排列
- rsort() - 对数组进行降序排列
- asort() - 根据关联数组的值,对数组进行升序排列
- ksort() - 根据关联数组的键,对数组进行升序排列
- arsort() - 根据关联数组的值,对数组进行降序排列
- krsort() - 根据关联数组的键,对数组进行降序排列
- 数值数组 - 带有数字 ID 键的数组
- 多维数组 - 包含一个或多个数组的数组
- 关联数组 - 带有指定的键的数组,每个键关联一个值
PHP EOF(heredoc) 使用说明
PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字符串的方法。
使用概述:
注意:
1.以 <<<EOF 开始标记开始,以 EOF 结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。
2.开始标记和结束标记相同,比如常用大写的 EOT、EOD、EOF 来表示,但是不只限于那几个(也可以用:JSON、HTML等),只要保证开始标记和结束标记不在正文中出现即可。
3.位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在 heredoc 中,变量不需要用连接符 . 或 , 来拼接
- 1. 必须后接分号,否则编译通不过。
- 2. EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。
- 3. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
- 4. 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
- 5. 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。
PHP 5 数据类型:
String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。
PHP 类型比较
虽然 PHP 是弱类型语言,但也需要明白变量类型及它们的意义,因为我们经常需要对 PHP 变量进行比较,包含松散和严格比较。
- 松散比较:使用两个等号 == 比较,只比较值,不比较类型。
- 严格比较:用三个等号 === 比较,除了比较值,也比较类型。
PHP 常量
常量是一个简单值的标识符。该值在脚本中不能改变,在脚本中都可使用。
一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。
(常量名不需要加 $ 修饰符)。 设置常量,使用 define() 函数,函数语法如下:
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
该函数有三个参数:
- name:必选参数,常量名称,即标志符。
- value:必选参数,常量的值。
- case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
PHP 并置运算符
在 PHP 中,只有一个字符串运算符。
并置运算符 (.) 用于把两个字符串值连接起来。
PHP strlen() 函数
有时知道字符串值的长度是很有用的。
strlen() 函数返回字符串的长度(字节数)。
PHP strpos() 函数
strpos() 函数用于在字符串内查找一个字符或一段指定的文本。
如果在字符串中找到匹配,则返回第一个匹配的字符位置。如果未找到,则返回 FALSE。
PHP运算符
算术运算符:+、-、*、/、%、.(并置运算符)
赋值运算符:=、+=、-=、*=、/=、%=、.=(连接两个字符串)
递增运算符:++、--(分为前置与后置)
比较运算符:==(等于)、===(绝对等于)、!=、<>(不等于)、!==(绝对不等于)
逻辑运算符:and、or、xor(异或)、&&(与)、||(或)、!(非)
数组运算符:+(两数组集合)、==(具有相同键值则为True)、===(且顺序相同)
组合比较符:$c=$a<=>$b(a大为1,相等为0,a小为-1)
PHP 条件语句
当编写代码时,常常需要为不同的判断执行不同的动作。可以在代码中使用条件语句来完成此任务。
在 PHP 中,提供了下列条件语句:
- if 语句 - 在条件成立时执行代码
- if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
- if...elseif....else 语句 - 在若干条件之一成立时执行一个代码块
- switch 语句 - 在若干条件之一成立时执行一个代码块
PHP 超级全局变量
PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。不需要特别说明,就可以在函数及类中使用。
PHP 超级全局变量列表:
- $GLOBALS
- $_SERVER
- $_REQUEST
- $_POST
- $_GET
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION
PHP 魔术常量
PHP 向它运行的任何脚本提供了大量的预定义常量。
不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。
有八个魔术常量它们的值随着它们在代码中的位置改变而改变。
__LINE__:文件中的当前行号。<?php echo '这是第 " ' . __LINE__ . ' " 行'; ?>
__FILE__:文件的完整路径和文件名。 <?php echo '该文件位于 " ' . __FILE__ . ' " '; ?>
__DIR__:文件所在的目录。<?php echo '该文件位于 " ' . __DIR__ . ' " '; ?>
__FUNCTION__:函数名称。<?php function test() { echo '函数名为:' . __FUNCTION__ ; } test(); ?>
__CLASS__:类的名称。
__TRAIT__:Trait 的名字。
__METHOD__:类的方法名。
__NAMESPACE__:当前命名空间的名称。