php 文档语法
"<? php " 开头
中间 php 代码
"?> " 结尾
变量
$variableName
eg: $var1 = 1;
打印
echo : 输出多个字符串,无返回值,速度快
print : 输出单个字符串,返回值为1,速度慢
echo "Hello world";
echo("Hello world");
两种写法都可以
print "Hello world";
print("Hello world");
两种写法都可以
数据类型
String, Integer, Float, Boolean, Array, Object, NULL
- Inter:
$inter = 1;
$inter2 = 0x1;
$inter3 = 07;
可以用十进制,八进制,十六进制
- Float:
$float1 = 1.1;
var_dump($float1);
输出变量类型与值
- Boolean:
$b = true;
$b2 = false;
- Array:
$arr=array("item1", "item2", "item3")
var_dump($arr)
- Object:
Class obj {
$var1 = 123;
function _constructor(){
$this->var2 = $var2;
}
function get_color(){
return $this -> var2;
}
}
直接声明对象实例
- NULL
$n = null;
类型比较
- ==
比较值,不比较类型 - ===
严格相等
跟 js 规则一样
常量
bool define(string $key, mixed $value[, bool $case_insensitive = false ])
$key 字符串,常量名
$value 常量值
$case_insensuitive 布尔, 是否大小写敏感
常量作用域全局
字符串
并置运算符
用于连接多个字符串
"Hello" . "World" . "And"strlen()
返回字符串的长度strpos()
查找给定字符串,返回第一个字符位置,或者false
运算符
跟 js 一样,多了并置运算符(连接字符串)
- 数组计算
x + y;
//集合
x == y ;
//x与y有相同键值对, true
x === y ;
//x与y有相同键值对且顺序一样, true
///不等
x <> y;
x !== y ;
x != y;
//组合比较符:
<=>
控制结构
if() {
} else if() {
} else {
}
switch(n) {
case label1:
break;
default :
//
}
数组
$arr = array()
- 获取数组长度
count() - 关联数组(哈希表?)
$arr2 = array("key" => "value")
$arr3["key"] = "value"
echo $arr2["key"] . $arr3["key"]
遍历
foreach($arr2 as $key=>$value) {
}
- 数组排序
sort() 升序
rsort() 降序
asort() 根据关联数组值升序排序
ksort() 根据关联数组键升序排序
arsort() 根据关联数组值降序
krsort() 根据关联数组键降序
超级全局变量
$GLOBALS 数组
$_SERVER web服务信息
$_REQUEST html表单提交信息
$_POST 收集表单数据
$_GET 收集表单数据
$_FILES
$_ENV
$_COOKIE
$_SESSION
while
while() {
}
do {
} while ();
for
for($init = 1;$init < $some_value;$init++) {
}
foreach
foreach ($array => $value) {
}
函数
function fn1($param) {
return $param;
}
魔术常量
__LINE__ : 当前行号
__FILE__: 文件绝对路径
__DIR__: 文件所在文件夹
__FUNCTION__: 返回函数名
__CLASS__: 返回类名
__TRAIT__: 对象继承时复用代码的一种方式
__METHOD__: 返回方法名
__NAMESPACE__: 返回当前命名空间名
命名空间
// 这里不能出现任何代码(除 declare)
namespace MyProject {
const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */ }
}
namespace { // 全局代码
session_start();
$a = MyProject\connect();
echo MyProject\Connection::start();
}
namespace Foo\Bar\subnamespace;
const FOO = 1;
function foo() {}
class foo
{
static function staticmethod() {}
}