PHP语法
1、以<?php 开始,以?>结束
2、通常包含HTML标签和PHP脚本代码
3、每行代码以分号结束
4、输出文本指令:echo print
5、注释:
<?php
//单行注释
/*
此为
多行注释
*/
?>
PHP变量
1、变量:存储数据的容器
<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>
2、变量规则:
(1)变量以$开始,随后为变量名
(2)变量名必须以字母或下划线开始
(3)变量名只能包含字母、数字以及下划线
(4)变量名以及PHP语句均区分大小写
(5)弱类型语言:创建变量时无需声明变量数据类型
<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>
3、变量作用域
(1)local:局部变量
<?php
$x=5; //全局变量
function myTest() {
$y=10; //局部变量
echo "<p>测试函数内变量</p>";
echo "变量x为: $x";
echo "<br>";
echo "变量y为: $y";
}
myTest();
echo "<p>测试函数外部变量</p>";
echo "变量x为: $x";
echo "<br>";
echo "变量y为: $y";
?>
注:
(a) 可在不同函数中使用相同的变量名称,因为这些函数内定义的变量名是局部变量,只作用于该函数内。
(b)在以上实例中 myTest() 函数定义了 $x 和 $y 变量。 $x 变量在函数外声明,所以它是全局变量 , $y 变量在函数内声明所以它是局部变量。
(c)调用myTest()函数并输出两个变量的值, 函数将会输出局部变量 $y 的值,但是不能输出 $x 的值,因为 $x 变量在函数外定义,无法在函数内使用,如果要在一个函数中访问一个全局变量,需要使用 global 关键字。
(2)global:函数内访问全局变量
<?php
$x=5; //全局变量
$y=10;
function myTest()
{
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y;
?>
//结果y=15
PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。
这个数组可以在函数内部访问,也可以直接用来更新全局变量。
<?php
$x=5; //全局变量
$y=10;
function myTest()
{
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
myTest();
echo $y;
?>
(3)static:静态
当一个函数完成时,它的所有变量通常都会被删除。
若希望某个局部变量不要被删除。可在第一次声明变量时使用 static 关键字
参数x依旧为函数的局部变量,每次调用函数时, 该变量将会保留前一次被调用的值。
<?php
function myTest()
{
static $x=0;
echo $x;
$x++;
echo PHP_EOL; //换行符
}
myTest();
myTest();
myTest();
?>
//结果:0 1 2
(4)parameter:参数作用域
<?php
function myTest($x)
{
echo $x;
}
myTest(5);
?>
PHP输出
1、echo与print区别
(1)echo:可以输出一个或多个字符串
(2)print:只允许输出一个字符串,返回值为1
2、echo
(1)语言结构,使用的时候可以不加括号
(2)字符串:可包含HTML标签
<?php
echo "<h2>php有趣!</h2>";
echo "Hello world!<br>";
echo "mysql<br>","sql server";
?>
(2)变量
<?php
$txt1="learn php";
$txt2="RUNOOB.COM";
$car=array("Volvo","BMW","Toyota");
echo $txt1;
echo "<br>";
echo "在 $txt2 学习 PHP";
echo "<br>";
echo "车品牌为{$car[0]}";
?>
3、print:可包含HTML标签
(1)语言结构,使用时可以不加括号
(2)字符串
<?php
print "<h2>php 很有趣!</h2>";
?>
(3)变量
<?php
$txt1="学习 PHP";
$txt2="RUNOOB.COM";
$cars=array("Volvo","BMW","Toyota");
print $txt1;
print "<br>";
print "在 $txt2 学习 PHP ";
print "<br>";
print "我车的品牌是 {$cars[0]}";
?>
4、PHP EOF(heredoc):定界符
(1)按照原样,包括换行格式什么的,输出在其内部的东西。定界符内的所有特殊字符都不需要转义
(2)以 <<<EOF开始标记开始,以 EOF 结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号
(3)开始标记和结束标记相同,比如常用大写的 EOT、EOD、EOF 来表示,但是不只限于那几个(也可以用:JSON、HTML等),只要保证开始标记和结束标记不在正文中出现即可。
(4)位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在 heredoc 中,变量不需要用连接符 **.**或 , 来拼接
<?php
$name="runoob";
$a= <<<EOF
"abc"$name
"123"
EOF;
// 结束需要独立一行且前后不能空格
echo $a;
//结果:"abc"runoob "123"
?>
PHP数据类型
1、字符串
单引号或双引号
2、整型
(1)十六进制:0x;八进制:0
(2)var_dump()
显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
3、浮点数
4、布尔型
5、PHP数组
<?php
$cars=array("Volvo","BMW","Toyota");
var_dump($cars);
?>
结果:
array(3) { [0] => string(5) "Volvo" [1] => string(3) "BMW" [2] => string(6) "Toyota" }
6、PHP对象:必须声明
(1)使用class关键字声明类对象。类是可以包含属性和方法的结构。
(2)关键字this就是指向当前对象实例的指针,不指向任何其他对象或类。
<?php
class Car
{
var $color;
function _construct($color="green"){
$this->color=$color;
}
function what_color(){
return $this->color;
}
}
?>
7、NULL值
(1)NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。
(2)通过设置变量值为 NULL 来清空变量数据:
<?php
$x="Hello world!";
$x=null;
var_dump($x);
?>