一、php 基本语法
<?php
// echo | print 两种输出语句
echo '任何位置';
print '任何位置';
?>
二、注释
<?php
// echo '任何位置'; // 单行注释
/*多行注释*/
?>
三、变量声明
变量名以 $ 开始,后面跟变量的名字,区分大小写
<?php
$x = 5;
echo $x;
?>
四、作用域
在 php 里面函数内外的变量互不干扰,不能互相访问,除了用 global
关键字定义的全局变量
可以在不同的函数中使用相同的变量,因为这些函数内定义的变量名是局部变量,只作用域该函数内
<?php
$x = 5; // 全局变量
function myText()
{$y = 10; // 局部变量echo "x 的值为 $x"; // 不能输出echo "y 的值为 $y"; // 10
}
myText();
echo "x 的值为 $x"; // 5
echo "y 的值为 $y"; // 不能输出
?>
global
作用域
php 将所有全局变量存储在 $GLOBALS[index]
的数组中,index
是变量的名称,可以用 $GLOBALS['x']
来对变量访问和修改
<?php
$x = 5; // 全局变量
$x = 6; // 全局变量
function myText()
{global $x; // 用 global 修饰一下,就可以在函数内部访问了echo $GLOBALS['x']; // 6echo $GLOBALS['y']; // 1000echo $x; // 6$GLOBALS['y'] = $GLOBALS['x'] * 2;
}
myText();
echo $x; // 6
// 可以看出在 php 里面变量名可以重名,但是以最后一次为准
echo $GLOBALS['x']; // 6
echo $GLOBALS['y']; // 12
?>
static
作用域
<?php
function myText()
{static $x = 0;echo $x;$x++;echo PHP_EOL; // 换行 和 \n 作用一样
}
myText(); // 0
myText(); // 1
myText(); // 2 -- 加 static 每次执行完成之后会保留前一次执行的结果
// 如果不加 static 函数一执行完,就会把变量删除。结果就会变成 0 0 0
?>
参数作用域
<?php
function myText($x)
{$x++;echo $x;echo PHP_EOL; // 换行
}myText(2); // 3?>
?>
五、echo
和 print
语句
echo
- 可以输出一个或多个字符串
print
- 只允许输出一个字符串,返回值总是 1
echo
输出比 print
快,因为 echo
没有返回值
<?php
$x = 18;
echo '我今年', $x, '岁了';
print '我今年18 岁了';
?>
六、PHP EOF(heredoc)
感觉就是另一种字符串的输出方式
规则:
-
以
<<<EOF
开始标记开始,以EOF
结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 -
开始标记和结束标记相同,比如常用大写的
EOT
、EOD
、EOF
来表示,但是不只限于那几个(也可以用:JSON
、HTML
等),只要保证开始标记和结束标记不在正文中出现即可 -
位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在
heredoc
中,变量不需要用连接符 . 或 , 来拼接
<?php
$name = 'mary';
$a = <<<EOF"abc"$name"1314"
EOF;
echo $a;
?>