此PHP备忘单提供了一个参考,可用于快速查找您最常使用的代码的正确语法。
<?php // begin with a PHP open tag.
echo "Hello Worldn";
print("Hello quickref.me");
?>
PHP运行命令
$ php hello.php
$boolean1 = true;
$boolean2 = True;
$int = 12;
$float = 3.1415926;
unset($float); // Delete variable
$str1 = "How are you?";
$str2 = "Fine, thanks";
请参阅:类型
$url = "quickref.me";
echo "I"m learning PHP at $url";
// Concatenate strings
echo "I"m learning PHP at " . $url;
$hello = "Hello, ";
$hello .= "World!";
echo $hello; # => Hello, World!
请参阅:字符串
$num = [1, 3, 5, 7, 9];
$num[5] = 11;
unset($num[2]); // Delete variable
print_r($num); # => 1 3 7 9 11
echo count($num); # => 5
请参阅:数组
$x = 1;
$y = 2;
$sum = $x + $y;
echo $sum; # => 3
请参阅:运算符
$x = 1;
$y = 2;
$sum = $x + $y;
echo $sum; # => 3
请参阅:运算符
<?php // begin with a PHP open tag.
$fruit = "apple";
echo "I was imported";
return "Anything you like.";
?>
<?php
include "vars.php";
echo $fruit . "n"; # => apple
require "vars.php";
// Also works
include("vars.php");
require("vars.php");
// Include through HTTP
include "http://x.com/file.php";
// Include and the return statement
$result = include "vars.php";
echo $result; # => Anything you like.
?>
function add($num1, $num2 = 1) {
return $num1 + $num2;
}
echo add(10); # => 11
echo add(10, 5); # => 15
请参阅:函数
# This is a one line shell-style comment
// This is a one line c++ style comment
const MY_CONST = "hello";
echo MY_CONST; # => hello
# => MY_CONST is: hello
echo "MY_CONST is: " . MY_CONST;
class Student {
public function __construct($name) {
$this->name = $name;
}
}
$alex = new Student("Alex");
请参阅:类
$boolean1 = true;
$boolean2 = TRUE;
$boolean3 = false;
$boolean4 = FALSE;
$boolean5 = (boolean) 1; # => true
$boolean6 = (boolean) 0; # => false
布尔值不区分大小写
$int1 = 28; # => 28
$int2 = -32; # => -32
$int3 = 012; # => 10 (octal)
$int4 = 0x0F; # => 15 (hex)
$int5 = 0b101; # => 5 (binary)
# => 2000100000 (decimal, PHP 7.4.0)
$int6 = 2_000_100_000;
另见:整数
echo "this is a simple string";
请参阅:字符串
$arr = array("hello", "world", "!");
请参阅:数组
$float1 = 1.234;
$float2 = 1.2e7;
$float3 = 7E-10;
$float4 = 1_234.567; // as of PHP 7.4.0
var_dump($float4); // float(1234.567)
$float5 = 1 + "10.5"; # => 11.5
$float6 = 1 + "-1.3e3"; # => -1299
$a = null;
$b = "Hello php!";
echo $a ?? "a is unset"; # => a is unset
echo $b ?? "b is unset"; # => Hello php
$a = array();
$a == null # => true
$a === null # => false
is_null($a) # => false
function bar(): iterable {
return [1, 2, 3];
}
function gen(): iterable {
yield 1;
yield 2;
yield 3;
}
foreach (bar() as $value) {
echo $value; # => 123
}
# => "$String"
$sgl_quotes = "$String";
# => "This is a $String."
$dbl_quotes = "This is a $sgl_quotes.";
# => a tab character.
$escaped = "a t tab character.";
# => a slash and a t: t
$unescaped = "a slash and a t: t";
$str = "foo";
// Uninterpolated multi-liners
$nowdoc = <<<"END"
Multi line string
$str
END;
// Will do string interpolation
$heredoc = <<<END
Multi line
$str
END;
$s = "Hello Phper";
echo strlen($s); # => 11
echo substr($s, 0, 3); # => Hel
echo substr($s, 1); # => ello Phper
echo substr($s, -4, 3);# => hpe
echo strtoupper($s); # => HELLO PHPER
echo strtolower($s); # => hello phper
echo strpos($s, "l"); # => 2
var_dump(strpos($s, "L")); # => false
请参阅:字符串函数
$a1 = ["hello", "world", "!"]
$a2 = array("hello", "world", "!");
$a3 = explode(",", "apple,pear,peach");
$array = array(
"foo" => "bar",
"bar" => "foo",
100 => -100,
-100 => 100,
);
var_dump($array);
$array = [
"foo" => "bar",
"bar" => "foo",
];
$multiArray = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
];
print_r($multiArray[0][0]) # => 1
print_r($multiArray[0][1]) # => 2
print_r($multiArray[0][2]) # => 3
$array = array(
"foo" => "bar",
42 => 24,
"multi" => array(
"dim" => array(
"a" => "foo"
)
)
);
# => string(3) "bar"
var_dump($array["foo"]);
# => int(24)
var_dump($array[42]);
# => string(3) "foo"
var_dump($array["multi"]["dim"]["a"]);
$arr = array(5 => 1, 12 => 2);
$arr[] = 56; // Append
$arr["x"] = 42; // Add with key
sort($arr); // Sort
unset($arr[5]); // Remove
unset($arr); // Remove all
请参阅:数组函数
$array = array("a", "b", "c");
$count = count($array);
for ($i = 0; $i < $count; $i++) {
echo "i:{$i}, v:{$array[$i]}n";
}
$colors = array("red", "blue", "green");
foreach ($colors as $color) {
echo "Do you like $color?n";
}
$arr = ["foo" => "bar", "bar" => "foo"];
foreach ( $arr as $key => $value )
{
echo "key: " . $key . "n";
echo "val: {$arr[$key]}n";
}
$a = [1, 2];
$b = [3, 4];
// PHP 7.4 later
# => [1, 2, 3, 4]
$result = [...$a, ...$b];
$array = [1, 2];
function foo(int $a, int $b) {
echo $a; # => 1
echo $b; # => 2
}
foo(...$array);
function foo($first, ...$other) {
var_dump($first); # => a
var_dump($other); # => ["b", "c"]
}
foo("a", "b", "c" );
// or
function foo($first, string ...$other){}
+ |
添加 |
- |
减法 |
* |
乘法 |
/ |
分配 |
% |
模数 |
** |
求幂 |
a += b |
与...一样 a = a + b |
a -= b |
与...一样 a = a – b |
a *= b |
与...一样 a = a * b |
a /= b |
与...一样 a = a / b |
a %= b |
与...一样 a = a % b |
== |
平等的 |
=== |
完全相同的 |
!= |
不相等 |
<> |
不相等 |
!== |
不相同 |
< |
少于 |
> |
比...更棒 |
<= |
小于或等于 |
>= |
大于或等于 |
<=> |
小于/等于/大于 |
and |
和 |
or |
或者 |
xor |
独占或 |
! |
不是 |
&& |
和 |
|| |
或者 |
// Arithmetic
$sum = 1 + 1; // 2
$difference = 2 - 1; // 1
$product = 2 * 2; // 4
$quotient = 2 / 1; // 2
// Shorthand arithmetic
$num = 0;
$num += 1; // Increment $num by 1
echo $num++; // Prints 1 (increments after evaluation)
echo ++$num; // Prints 3 (increments before evaluation)
$num /= $float; // Divide and assign the quotient to $num
& |
和 |
| |
或(包括或) |
^ |
Xor(异或) |
~ |
不是 |
<< |
左移 |
>> |
右移 |
$a = 10;
$b = 20;
if ($a > $b) {
echo "a is bigger than b";
} elseif ($a == $b) {
echo "a is equal to b";
} else {
echo "a is smaller than b";
}
$x = 0;
switch ($x) {
case "0":
print "it"s zero";
break;
case "two":
case "three":
// do something
break;
default:
// do something
}
# => Does
print (false ? "Not" : "Does");
$x = false;
# => Does
print($x ?: "Does");
$a = null;
$b = "Does print";
# => a is unsert
echo $a ?? "a is unset";
# => print
echo $b ?? "b is unset";
$statusCode = 500;
$message = match($statusCode) {
200, 300 => null,
400 => "not found",
500 => "server error",
default => "known status code",
};
echo $message; # => server error
参见:匹配
$age = 23;
$result = match (true) {
$age >= 65 => "senior",
$age >= 25 => "adult",
$age >= 18 => "young adult",
default => "kid",
};
echo $result; # => young adult
$i = 1;
# => 12345
while ($i <= 5) {
echo $i++;
}
$i = 1;
# => 12345
do {
echo $i++;
} while ($i <= 5);
# => 12345
for ($i = 1; $i <= 5; $i++) {
echo $i;
}
# => 123
for ($i = 1; $i <= 5; $i++) {
if ($i === 4) {
break;
}
echo $i;
}
# => 1235
for ($i = 1; $i <= 5; $i++) {
if ($i === 4) {
continue;
}
echo $i;
}
$a = ["foo" => 1, "bar" => 2];
# => 12
foreach ($a as $k) {
echo $k;
}
请参阅:数组迭代
function square($x)
{
return $x * $x;
}
echo square(4); # => 16
// Basic return type declaration
function sum($a, $b): float {}
function get_item(): string {}
class C {}
// Returning an object
function getC(): C { return new C; }
// Available in PHP 7.1
function nullOrString(int $v) : ?string
{
return $v % 2 ? "odd" : null;
}
echo nullOrString(3); # => odd
var_dump(nullOrString(4)); # => NULL
请参阅:可空类型
// Available in PHP 7.1
function voidFunction(): void
{
echo "Hello";
return;
}
voidFunction(); # => Hello
function bar($arg = "")
{
echo "In bar(); arg: "$arg".n";
}
$func = "bar";
$func("test"); # => In bar(); arg: test
$greet = function($name)
{
printf("Hello %srn", $name);
};
$greet("World"); # => Hello World
$greet("PHP"); # => Hello PHP
function recursion($x)
{
if ($x < 5) {
echo "$x";
recursion($x + 1);
}
}
recursion(1); # => 1234
function coffee($type = "cappuccino")
{
return "Making a cup of $type.n";
}
# => Making a cup of cappuccino.
echo coffee();
# => Making a cup of .
echo coffee(null);
# => Making a cup of espresso.
echo coffee("espresso");
$y = 1;
$fn1 = fn($x) => $x + $y;
// equivalent to using $y by value:
$fn2 = function ($x) use ($y) {
return $x + $y;
};
echo $fn1(5); # => 6
echo $fn2(5); # => 6
class Student {
public function __construct($name) {
$this->name = $name;
}
public function print() {
echo "Name: " . $this->name;
}
}
$alex = new Student("Alex");
$alex->print(); # => Name: Alex
class ExtendClass extends SimpleClass
{
// Redefine the parent method
function displayVar()
{
echo "Extending classn";
parent::displayVar();
}
}
$extended = new ExtendClass();
$extended->displayVar();
class MyClass
{
const MY_CONST = "value";
static $staticVar = "static";
// Visibility
public static $var1 = "pubs";
// Class only
private static $var2 = "pris";
// The class and subclasses
protected static $var3 = "pros";
// The class and subclasses
protected $var6 = "pro";
// The class only
private $var7 = "pri";
}
静态访问
echo MyClass::MY_CONST; # => value
echo MyClass::$staticVar; # => static
class MyClass
{
// Object is treated as a String
public function __toString()
{
return $property;
}
// opposite to __construct()
public function __destruct()
{
print "Destroying";
}
}
interface Foo
{
public function doSomething();
}
interface Bar
{
public function doSomethingElse();
}
class Cls implements Foo, Bar
{
public function doSomething() {}
public function doSomethingElse() {}
}
try {
// Do something
} catch (Exception $e) {
// Handle exception
} finally {
echo "Always print!";
}
$nullableValue = null;
try {
$value = $nullableValue ?? throw new InvalidArgumentException();
} catch (InvalidArgumentException) { // Variable is optional
// Handle my exception
echo "print me!";
}
class MyException extends Exception {
// do something
}
用法
try {
$condition = true;
if ($condition) {
throw new MyException("bala");
}
} catch (MyException $e) {
// Handle my exception
}
// As of PHP 8.0.0, this line:
$result = $repo?->getUser(5)?->name;
// Equivalent to the following code:
if (is_null($repo)) {
$result = null;
} else {
$user = $repository->getUser(5);
if (is_null($user)) {
$result = null;
} else {
$result = $user->name;
}
}
另见:空安全运算符
$str = "Visit Quickref.me";
echo preg_match("/qu/i", $str); # => 1
请参阅:PHP 中的正则表达式
r |
读 |
r+ |
读取和写入,前置 |
w |
写,截断 |
w+ |
读写,截断 |
a |
写入,追加 |
a+ |
读写,追加 |
define("CURRENT_DATE", date("Y-m-d"));
// One possible representation
echo CURRENT_DATE; # => 2021-01-05
# => CURRENT_DATE is: 2021-01-05
echo "CURRENT_DATE is: " . CURRENT_DATE;
PHP 文件处理 在 PHP 中,可以对文件进行一些处理操作,其中包括创建、读取、上传以及编辑文件。fopen() 函数用于在 PHP 中打开...
一般情况下,INSERT 语句只能向 MySQL 数据库添加一条语句,而本文将介绍如何使用函数批量的向数据表插入多条数据。使用 MySQLi ...
PHP 是通过 print 和 echo 语句来动态输出 HTML 内容,虽然 print 和 echo 语句两者的功能几乎是完全一样,但是还是有一点差别的...
什么是命名空间?从广义上来说,命名空间是一种封装事物的方法。PHP 命名空间(namespace)是在PHP 5.3中加入的,如果你学过C#和Ja...
在 PHP 中,预定义的 $_POST 变量用于收集来自 method="post" 的表单中的值,$_POST 也常用于传递变量。$_POST 变量 预定义的 $_...
对于 PHP 中的数据,你需要验证其是否安全,Filter 函数提供了这方面的帮助。PHP Filter 简介 PHP 过滤器用于对来自非安全来源的...
通过 Math 函数能够处理 PHP 中的值,Math 函数包含许多用于计算的数学函数,本节将一一为你讲解!PHP Math 简介 Math 函数能处...
在php项目中,分页是非常常见的,那么php分页功能该如何实现呢?本文将为大家带来的就是php分页功能的3种实现方法,对分页不太熟...