1.PHP语法
1.1PHP 脚本以 <?php 开始,以 ?> 结束;
每行内容要以分号结尾。
1.2在浏览器中能输出文本的基本指令有:echo,print;
1.3注释
<?php
//单行注释
/*多行
注释*/
?>
2.变量
- 以符号$开始,后跟变量名称
- 变量名必须以字母或者下划线字符开始
- 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
- 变量名不能包含空格
- 变量名是区分大小写的($y 和 $Y 是两个不同的变量)
3.PHP echo/print
-
echo-输出一个或多个字符串
-
print-只能输出一个字符串,且返回值为1
4.PHP EOF(heredoc) 使用说明
PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字符串的方法。
使用概述:
- 1. 必须后接分号,否则编译通不过。
- 2. EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。
- 3. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
- 4. 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
- 5. 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当于q和qq的用法。
注意:
- 以 <<<EOF 开始标记开始,以 EOF 结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。
- 开始标记和结束标记相同,比如常用大写的 EOT、EOD、EOF 来表示,但是不只限于那几个(也可以用:JSON、HTML等),只要保证开始标记和结束标记不在正文中出现即可。
- 位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在 heredoc 中,变量不需要用连接符 . 或 , 来拼接,如下:
<?php
$name="runoob";
$a= <<<EOF
"abc"$name
"123"
EOF;
// 结束需要独立一行且前后不能空格
echo $a;
?>
运行结果:"abc"runoob"123"
5.数据类型
PHP支持以下几种数据类型
- string(字符型
可将字符串放在单引和双引号中
- integer(整型
可以是正数和负数,不含小数点和空格;
能用三种格式
来指定:十进制,八进制(0),十六进制(0x)
var_dump返回变量和数据类型的值
<?php
$c=73678;
var_dump($c);
echo "<br>";
?>
运行结果:int(73678)
- float(浮点型
- Boolean(布尔型
用于条件判断(true/false)
- array(数组
<?php
$cars=("vovol","bmw","toyota");
var_dump(cars);
?>
运行结果:array(3) { [0]=> string(5) "volvo" [1]=> string(3) "bmw" [2]=> string(6) "toyota" }
- object(对象
<?php
class Car
{
var $color;
function __construct($color="green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
function print_vars($obj) {
foreach (get_object_vars($obj) as $prop => $val) {
echo "\t$prop = $val\n";
}
}
// 实例一个对象
$herbie = new Car("white");
// 显示 herbie 属性
echo "\therbie: Properties\n";
print_vars($herbie);
?>
- NULL(空值
清空变量数据,返回值NULL
- resource(资源类型
get_resource_type($handle):string
<?php
$doc=new_xmldoc("1.0");
echo get_resource_type($doc->doc)."\n";
6.类型比较
- ==
(松散比较)只比较值,不比较类型
- ===
- (严格比较)不仅比较值,还比较类型
7.PHP常量
bool define(string $name,mixed $value [,bool $case_insensitive=false])]
三个参数:
- name:必选参数,常量名,及标识符
- value:必选参数,常量值
- case_insensitive:可选参数,若设置为TRUE,则该常量大小写不敏感;若为默认值,则大小写敏感。
- 常量是全局的,即使定义在函数外也可以正常使用
8.PHP字符串
- 并置运算符(.)
echo $text1."".$text2;
- strlen函数
<?php
echo strlen("hello world!");
?>
运行结果:12
- strpos函数:在字符串内查找一个字符或一段指定的文本
如果在字符串内找到匹配,该函数会返回第一个匹配的字符位置;
若未找到,则返回FALSE
<?php
ehco strpos("hello world!","world");
?>
返回值:6(字符串的第一个位置是0,不是1)
9.PHP运算符
=用于给变量赋值
+用于把值加在一起
-x:设置负数
~x:二进制取反
a.b:连接两个字符串
a.=b表示a=a.b
- 整除运算符:intdiv() 第一个参数初一第二参数的值并取整
var_dump(intdiv(5,2)) 输出:2
- 比较运算符
x<>y:不等于
x!==y:不绝对等于(值或类型不相同都返回true)
- 逻辑运算符
and 与
or 或
&& 与
|| 或
!x 非
- ??
<?php
$name=$_get['user']??'nobby';
//如果user不存在则返回‘nobby’的值,若存在,则返回‘user’的值
?>
- 组合比较符(1 0 -1)
- 运算符优先级
10.PHP数组
- 获取数组的长度:count count($cars)
- 遍历数值数组
<?php//可使用for循环
$car=array("he","she","me");
$arrlength=count($car);
for($x=0;$x<$arrlength;$x++)
{
echo $car[$x];
echo "<br>";
}
?>
- php关联数组
使用分配给数组指定的键的数组
创建关联数组的方法
$age=array("peter"=>"35","ben"=>"37","joe"="43";
$age['peter']="35";
$age['ben']="37";
$age['joe']="43";
<?php
$age=array("peter"=>"35","ben"=>"37","joe"=>"47");
echo "peter is".$age['peter']."years old.";
?>
11.php数组排序
- sort() - 对数组进行升序排列
- rsort() - 对数组进行降序排列
- asort() - 根据关联数组的值,对数组进行升序排列
- ksort() - 根据关联数组的键,对数组进行升序排列
- arsort() - 根据关联数组的值,对数组进行降序排列
- krsort() - 根据关联数组的键,对数组进行降序排列