php
基本语法
<?php
// 此处是 PHP 代码
?>
<!DOCTYPE html>
<html>
<body>
<h1>我的第一张 PHP 页面</h1>
<?php
echo "Hello World!";
?>
</body>
</html>
PHP 文件通常包含 HTML 标签以及一些 PHP 脚本代码。
注释
<?php
// 这是单行注释
# 这也是单行注释
/*
这是多行注释块
它横跨了
多行
*/
?>
变量
变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
变量名称对大小写敏感($y 与 $Y 是两个不同的变量)
PHP 有三种不同的变量作用域:
Local 和 Global 作用域
函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。
函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。
<?php
$x=5; // global scope
function myTest() {
$y=10; // local scope
echo "<p>在函数内部测试变量:</p>";
echo "变量 x 是:$x";
echo "<br>";
echo "变量 y 是:$y";
}
myTest();
echo "<p>在函数之外测试变量:</p>";
echo "变量 x 是:$x";
echo "<br>";
echo "变量 y 是:$y";
?>
//输出
//
/*
在函数内部测试变量:
变量 x 是:
变量 y 是:10
在函数之外测试变量:
变量 x 是:5
变量 y 是:
*/
函数内访问全局变量
function myTest() {
global $x,$y;
$y=$x+$y;
}
//or
function myTest() {
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
静态变量
通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。 要完成这一点,请在您首次声明变量时使用 static 关键词:
<?php
function myTest() {
static $x=0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
?>
//输出:
0
1
2
3
4
PHP echo 和 print 语句
print - 只能输出一个字符串,并始终返回 1
两者是语言结构,有没有括号均可以使用。
PHP 数据类型
字符串、整数、浮点数、逻辑、数组、对象、NULL。
PHP 字符串函数
strlen() 函数返回字符串的长度,以字符计。
<?php
echo strlen("Hello world!");
?>
//12
strpos() 函数用于检索字符串内指定的字符或文本。
如果找到匹配,则会返回首个匹配的字符位置。如果未找到匹配,则将返回 FALSE。
<?php
echo strpos("Hello world!","world");
?>
//6
PHP 常量
常量是单个值的标识符(名称)。在脚本中无法改变该值。
define() 函数 - 它使用三个参数:
可选的第三个参数规定常量名是否对大小写敏感。默认是 false。
<?php
define("GREETING", "Welcome to W3School.com.cn!");
echo GREETING;
?>
PHP 字符串运算符
<?php
$a = "Hello";
$b = $a . " world!";//串接
echo $b; // 输出 Hello world!
$x="Hello";
$x .= " world!";// 串接赋值
echo $x; // 输出 Hello world!
?>
PHP 循环
do...while - 先执行一次代码块,然后只要指定条件为真则重复循环
foreach - 遍历数组中的每个元素并循环代码块
如果您已经提前确定脚本运行的次数,可以使用 for 循环。
<?php
for ($x=0; $x<=10; $x++) {
echo "数字是:$x <br>";
}
?>
foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。
<?php
$colors = array("red","green","blue","yellow");
foreach ($colors as $value) {
echo "$value <br>";
}
?>
PHP 函数
创建
<?php
function writeMsg() {
echo "Hello world!";
}
writeMsg(); // 调用函数
?>
参数
<?php
function setHeight($minheight=50) {
echo "The height is : $minheight <br>";
}
setHeight(350);
setHeight(); // 将使用默认值 50,如果我们调用没有参数的 setHeight() 函数,它的参数会取默认值
setHeight(135);
setHeight(80);
?>
数组
<?php
$cars=array("Volvo","BMW","SAAB");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
三种数组类型:
//索引是自动分配的(索引从 0 开始):
$cars=array("Volvo","BMW","SAAB");
//or
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="SAAB";
//遍历数组
<?php
$cars=array("Volvo","BMW","SAAB");
$arrlength=count($cars);//获取数组长度
for($x=0;$x<$arrlength;$x++) {
echo $cars[$x];
echo "<br>";
}
?>
关联数组是使用您分配给数组的指定键的数组。
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
//或者:
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";
PHP - 数组的排序函数
按照字母升序对数组 $cars 中的元素进行排序:
<?php
$cars=array("Volvo","BMW","SAAB");
sort($cars);
?>
按照数字升序对数组 $numbers 中的元素进行排序:
<?php
$numbers=array(3,5,1,22,11);
sort($numbers);
?>
类似sort();
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序
超全局变量 PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。