1,http://www.w3cschool.cc/php/php-syntax.html
PHP 脚本以 <?php 开始,以 ?> 结束
2,http://www.w3cschool.cc/php/php-variables.html
PHP 会根据变量的值,自动把变量转换为正确的数据类型。不必向 PHP 声明该变量的数据类型。
PHP 有四种不同的变量作用域:local、global、static、parameter。
如果要在一个函数中访问一个全局变量,需要使用 global 关键字。PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。
当一个函数完成时,希望某个局部变量不要被删除,使用 static 关键字。
3,http://www.w3cschool.cc/php/php-datatypes.html
String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。
var_dump() 函数返回变量的数据类型和值。
在 PHP 中,对象必须声明。
可以通过设置变量值为 null 来清空变量数据。
4,http://www.w3cschool.cc/php/php-constants.html
设置常量,使用 define() 函数。
define(string constant_name, mixed value, case_sensitive = true)
true 表示大小写不敏感。
5,http://www.w3cschool.cc/php/php-string.html
并置运算符 (.) 用于把两个字符串值连接起来。
strlen() 函数返回字符串的长度(字符数)。
strpos() 函数用于在字符串内查找一个字符或一段指定的文本。
如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。字符串中第一个字符的位置是 0,而不是 1。
6,http://www.w3cschool.cc/php/php-operators.html
算数运算符、赋值运算符、递增/递减运算符、比较运算符、逻辑运算符、数组运算符
7,http://www.w3cschool.cc/php/php-if-else.html
if (条件)
{
条件成立时要执行的代码;
}
if (条件)
{
条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}
if (条件)
{
if 条件成立时执行的代码;
}
else if (条件)
{
elseif 条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}
8,http://www.w3cschool.cc/php/php-switch.html
switch (n)
{
case label1:
如果 n=label1,此处代码将执行;
break;
case label2:
如果 n=label2,此处代码将执行;
break;
default:
如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}
9,http://www.w3cschool.cc/php/php-arrays.html
有三种类型的数组:数值数组(带有数字 ID 键的数组)、关联数组(带有指定的键的数组,每个键关联一个值)、多维数组(包含一个或多个数组的数组)。
count() 函数用于返回数组的长度(元素的数量)。
遍历数值数组:
<?php
$cars=array("Volvo","BMW","Toyota");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++)
{
echo $cars[$x];
echo "<br>";
}
?>
遍历关联数组:
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
10,http://www.w3cschool.cc/php/php-arrays-sort.html
对数组进行升序排列:sort()
对数组进行降序排列:rsort()
根据关联数组的值,对数组进行升序排列:asort()
根据关联数组的值,对数组进行降序排列:arsort()
根据关联数组的键,对数组进行升序排列:ksort()
根据关联数组的键,对数组进行降序排列:krsort()
11,http://www.w3cschool.cc/php/php-superglobals.html
$GLOBAL 是一个包含了全部变量的全局组合数组。变量的名字就是数组的键。
$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。
$_REQUEST 用于收集HTML表单提交的数据。
$_POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"。
$_GET 同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。
12,http://www.w3cschool.cc/php/php-looping.html
while (条件)
{
要执行的代码;
}
do
{
要执行的代码;
}
while (条件);
13,http://www.w3cschool.cc/php/php-looping-for.html
for (初始值; 条件; 增量)
{
要执行的代码;
}
foreach ($array as $value)
{
要执行代码;
}
14,http://www.w3cschool.cc/php/php-functions.html
function functionName([参数])
{
要执行的代码;
[return 变量];
}
15,http://www.w3cschool.cc/php/php-magic-constant.html
__LINE__ 文件中的当前行号。
__FILE__ 文件的完整路径和文件名。
__DIR__ 文件所在的目录。
__FUNCTION__ 函数名称。
__CLASS__ 类的名称。
__TRAIT__ Trait 的名字。
__METHOD__ 返回该方法被定义时的名字(区分大小写)。
__NAMESPACE__ 当前命名空间的名称(区分大小写)。
16,http://www.w3cschool.cc/php/php-namespace.html
PHP 命名空间可以解决以下两类问题:
用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。
为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性。
< ?php
namespace MyProject1;
// MyProject1 命名空间中的PHP代码
namespace MyProject2;
// MyProject2 命名空间中的PHP代码
// 另一种语法
namespace MyProject3 {
// MyProject3 命名空间中的PHP代码
}
?>
在声明命名空间之前唯一合法的代码是用于定义源文件编码方式的 declare 语句。所有非 PHP 代码包括空白符都不能出现在命名空间的声明之前。
declare(encoding='UTF-8');
命名空间的名字可以使用分层次的方式定义:
namespace MyProject\Sub\Level;
名称解析遵循下列规则:
<1>对完全限定名称的函数,类和常量的调用在编译时解析。例如 new \A\B 解析为类 A\B。
<2>所有的非限定名称和限定名称(非完全限定名称)根据当前的导入规则在编译时进行转换。例如,如果命名空间 A\B\C 被导入为 C,那么对 C\D\e() 的调用就会被转换为 A\B\C\D\e()。
<3>在命名空间内部,所有的没有根据导入规则转换的限定名称均会在其前面加上当前的命名空间名称。例如,在命名空间 A\B 内部调用 C\D\e(),则 C\D\e() 会被转换为 A\B\C\D\e() 。
<4>非限定类名根据当前的导入规则在编译时转换(用全名代替短的导入名称)。例如,如果命名空间 A\B\C 导入为C,则 new C() 被转换为 new A\B\C() 。
<5>在命名空间内部(例如A\B),对非限定名称的函数调用是在运行时解析的。例如对函数 foo() 的调用是这样解析的:
在当前命名空间中查找名为 A\B\foo() 的函数
尝试查找并调用 全局(global) 空间中的函数 foo()。
<6>在命名空间(例如A\B)内部对非限定名称或限定名称类(非完全限定名称)的调用是在运行时解析的。
下面是调用 new C() 及 new D\E() 的解析过程: new C()的解析:
在当前命名空间中查找A\B\C类。
尝试自动装载类A\B\C。
new D\E()的解析:
在类名称前面加上当前命名空间名称变成:A\B\D\E,然后查找该类。
尝试自动装载类 A\B\D\E。
为了引用全局命名空间中的全局类,必须使用完全限定名称 new \C()。
PHP 脚本以 <?php 开始,以 ?> 结束
2,http://www.w3cschool.cc/php/php-variables.html
PHP 会根据变量的值,自动把变量转换为正确的数据类型。不必向 PHP 声明该变量的数据类型。
PHP 有四种不同的变量作用域:local、global、static、parameter。
如果要在一个函数中访问一个全局变量,需要使用 global 关键字。PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。
当一个函数完成时,希望某个局部变量不要被删除,使用 static 关键字。
3,http://www.w3cschool.cc/php/php-datatypes.html
String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。
var_dump() 函数返回变量的数据类型和值。
在 PHP 中,对象必须声明。
可以通过设置变量值为 null 来清空变量数据。
4,http://www.w3cschool.cc/php/php-constants.html
设置常量,使用 define() 函数。
define(string constant_name, mixed value, case_sensitive = true)
true 表示大小写不敏感。
5,http://www.w3cschool.cc/php/php-string.html
并置运算符 (.) 用于把两个字符串值连接起来。
strlen() 函数返回字符串的长度(字符数)。
strpos() 函数用于在字符串内查找一个字符或一段指定的文本。
如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。字符串中第一个字符的位置是 0,而不是 1。
6,http://www.w3cschool.cc/php/php-operators.html
算数运算符、赋值运算符、递增/递减运算符、比较运算符、逻辑运算符、数组运算符
7,http://www.w3cschool.cc/php/php-if-else.html
if (条件)
{
条件成立时要执行的代码;
}
if (条件)
{
条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}
if (条件)
{
if 条件成立时执行的代码;
}
else if (条件)
{
elseif 条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}
8,http://www.w3cschool.cc/php/php-switch.html
switch (n)
{
case label1:
如果 n=label1,此处代码将执行;
break;
case label2:
如果 n=label2,此处代码将执行;
break;
default:
如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}
9,http://www.w3cschool.cc/php/php-arrays.html
有三种类型的数组:数值数组(带有数字 ID 键的数组)、关联数组(带有指定的键的数组,每个键关联一个值)、多维数组(包含一个或多个数组的数组)。
count() 函数用于返回数组的长度(元素的数量)。
遍历数值数组:
<?php
$cars=array("Volvo","BMW","Toyota");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++)
{
echo $cars[$x];
echo "<br>";
}
?>
遍历关联数组:
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
10,http://www.w3cschool.cc/php/php-arrays-sort.html
对数组进行升序排列:sort()
对数组进行降序排列:rsort()
根据关联数组的值,对数组进行升序排列:asort()
根据关联数组的值,对数组进行降序排列:arsort()
根据关联数组的键,对数组进行升序排列:ksort()
根据关联数组的键,对数组进行降序排列:krsort()
11,http://www.w3cschool.cc/php/php-superglobals.html
$GLOBAL 是一个包含了全部变量的全局组合数组。变量的名字就是数组的键。
$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。
$_REQUEST 用于收集HTML表单提交的数据。
$_POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"。
$_GET 同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。
12,http://www.w3cschool.cc/php/php-looping.html
while (条件)
{
要执行的代码;
}
do
{
要执行的代码;
}
while (条件);
13,http://www.w3cschool.cc/php/php-looping-for.html
for (初始值; 条件; 增量)
{
要执行的代码;
}
foreach ($array as $value)
{
要执行代码;
}
14,http://www.w3cschool.cc/php/php-functions.html
function functionName([参数])
{
要执行的代码;
[return 变量];
}
15,http://www.w3cschool.cc/php/php-magic-constant.html
__LINE__ 文件中的当前行号。
__FILE__ 文件的完整路径和文件名。
__DIR__ 文件所在的目录。
__FUNCTION__ 函数名称。
__CLASS__ 类的名称。
__TRAIT__ Trait 的名字。
__METHOD__ 返回该方法被定义时的名字(区分大小写)。
__NAMESPACE__ 当前命名空间的名称(区分大小写)。
16,http://www.w3cschool.cc/php/php-namespace.html
PHP 命名空间可以解决以下两类问题:
用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。
为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性。
< ?php
namespace MyProject1;
// MyProject1 命名空间中的PHP代码
namespace MyProject2;
// MyProject2 命名空间中的PHP代码
// 另一种语法
namespace MyProject3 {
// MyProject3 命名空间中的PHP代码
}
?>
在声明命名空间之前唯一合法的代码是用于定义源文件编码方式的 declare 语句。所有非 PHP 代码包括空白符都不能出现在命名空间的声明之前。
declare(encoding='UTF-8');
命名空间的名字可以使用分层次的方式定义:
namespace MyProject\Sub\Level;
名称解析遵循下列规则:
<1>对完全限定名称的函数,类和常量的调用在编译时解析。例如 new \A\B 解析为类 A\B。
<2>所有的非限定名称和限定名称(非完全限定名称)根据当前的导入规则在编译时进行转换。例如,如果命名空间 A\B\C 被导入为 C,那么对 C\D\e() 的调用就会被转换为 A\B\C\D\e()。
<3>在命名空间内部,所有的没有根据导入规则转换的限定名称均会在其前面加上当前的命名空间名称。例如,在命名空间 A\B 内部调用 C\D\e(),则 C\D\e() 会被转换为 A\B\C\D\e() 。
<4>非限定类名根据当前的导入规则在编译时转换(用全名代替短的导入名称)。例如,如果命名空间 A\B\C 导入为C,则 new C() 被转换为 new A\B\C() 。
<5>在命名空间内部(例如A\B),对非限定名称的函数调用是在运行时解析的。例如对函数 foo() 的调用是这样解析的:
在当前命名空间中查找名为 A\B\foo() 的函数
尝试查找并调用 全局(global) 空间中的函数 foo()。
<6>在命名空间(例如A\B)内部对非限定名称或限定名称类(非完全限定名称)的调用是在运行时解析的。
下面是调用 new C() 及 new D\E() 的解析过程: new C()的解析:
在当前命名空间中查找A\B\C类。
尝试自动装载类A\B\C。
new D\E()的解析:
在类名称前面加上当前命名空间名称变成:A\B\D\E,然后查找该类。
尝试自动装载类 A\B\D\E。
为了引用全局命名空间中的全局类,必须使用完全限定名称 new \C()。