PHP快速教程
1.本文主要针对有C语言(或其他编程语言)基础的人快速学习PHP的,所以不会对一些基础知识作过多解释,比如“=”是赋值不是等于。
2.本文适合已学过一门编程语言,想要快速入门PHP的人。
3.基本上看完本文即可入门,可以动手实践或是进阶。
简介
PHP是Hypertext Preprocessor(超文本预处理器)的递归缩写。
这是一种特别适合网页开发的服务器端脚本语言。
它是运行在服务器上的脚本,因此不能直接用浏览器打开.php脚本,需要服务器解析后发送给浏览器才能查看网页内容。因此要在浏览器里输入地址访问.php文件,然后服务器解析后发送给浏览器解析后的Html,才能查看网页内容。
如果要在自己电脑上运行.php文件,需要先搭建配置服务器环境,初学者可以使用集成服务器组件,比如XAMPP,下载地址:https://www.apachefriends.org/zh_cn/index.html
这部分不作过多介绍,大家可以去百度。
语法
标记
PHP可以内嵌在Html文档中的任何位置。
PHP 脚本以 开头,以
?>
结尾。
例:
我的第一张 PHP 页面
echo 'Hello World!'; // 输出 Hello World!
?>
注释
PHP支持C、C++、Perl三种风格的注释:
echo 'This is a test'; // This is a one-line c++ style comment
/* This is a multi line comment
yet another line of comment */
echo 'This is yet another test';
echo 'One Final Test'; # This is a one-line shell-style comment
?>
大小写敏感
PHP只有变量大小写敏感。
所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感。
变量
-
PHP变量以$符号开头。
-
PHP是弱类型语言,无需声明类型。
-
PHP变量名称大小写敏感。
作用域
-
函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。
-
函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。
例:
$x=5; // 全局作用域
function myTest() {
$y=10; // 局部作用域
echo "测试函数内部的变量:
";
echo "变量 x 是:$x"; // 输出 变量x是:
echo "
";
echo "变量 y 是:$y"; // 输出 变量y是:10
}
myTest();
echo "测试函数之外的变量:
";
echo "变量 x 是:$x"; // 输出 变量x是:5
echo "
";
echo "变量 y 是:$y"; // 输出 变量y是:
?>
-
在函数内访问Global变量使用
global
关键字。
例:
$x=5;
$y=10;
function myTest() {
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 输出 15
?>
-
也可以使用$GLOBALS超全局变量访问全局变量:
例:
$x=5;
$y=10;
function myTest() {
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
myTest();
echo $y; // 输出 15
?>
-
static
关键字声明静态变量。
当函数完成/执行后,不会删除静态变量。
超全局变量
超全局变量 在 PHP 4.1.0 中引入,是在全部作用域中始终可用的内置变量。在函数或方法中无需执行 global $variable; 就可以访问它们。
$GLOBALS— 引用全局作用域中可用的全部变量
$_SERVER— 服务器和执行环境信息
$_REQUEST— HTTP Request 变量
$_POST— HTTP POST 变量
$_GET— HTTP GET 变量
$_FILES— HTTP 文件上传变量
$_ENV— 环境变量
$_COOKIE— HTTP Cookies
$_SESSION— Session 变量
官方文档
可变变量
可变变量是一种独特的变量,它允许动态改变一个变量名称。其工作原理是,该变量的名称由另外一个变量的值来确定。
例:
$a = 'hello';
$$a = 'world';
?>
以上代码定义了两个变量,$a='hello',$hello='world'。
官方文档
输出
在 PHP 中,有两种基本的输出方法:echo 和 print。
-
echo - 能够输出一个以上的字符串
-
print - 只能输出一个字符串,并始终返回 1
-
echo 比 print 稍快,因为它不返回任何值
echo & print
-
echo 是一个语言结构,有无括号均可使用:echo 或 echo()。
-
print 也是语言结构,有无括号均可使用:print 或 print()。
数据类型
字符串、整数、浮点数、布尔、数组、对象、NULL。
字符串
-
PHP字符串可以用单引号也可以用双引号。
-
单引号和双引号的区别是:双引号会解析里面的变量和转义字符,而单引号不会,单引号里的字符仅仅只有\(反斜杠)和'(单引号本身)需要转义:
$str='Hello';
echo 'I\'ll say $str\n';
// 输出 I'll say $str\n
echo "I\'ll say $str\n";
// 输出 I'll say Hello
?>
-
建议使用单引号表示字符串,除非需要解析里面的变量。
heredoc & nowdoc
需要表示特别长的字符串的时候,可以使用heredoc和nowdoc语法,heredoc和nowdoc语法的区别相当于双引号和单引号的区别。
/*heredoc 语法
1. 由
$str = 'hello world';
echo $str
HTML;
?>
/*nowdoc 语法
1. 区别就是开始标记名要加单引号,但结束标记名不要加单引号
2. 主体部分的变量和转义字符不会被解析
*/
echo
Hello World
hello world