目录
1、标记
2、注释
3、输出语句
4、关键字
5、常量的定义与使用
6、预定义常量
7、变量的赋值(传参赋值与引用赋值)
8、可变变量
9、双引号和单引号的区别
10、heredoc结构和nowdoc结构
11、其他符号
1、标记
<?php 和 ?> 是PHP标记中的一种(标准标记),专门用来包含PHP代码;
echo用于输出一个或多个字符串;
结束标记前的最后一条语句可以省略分号。
除了标准标记,还有短标记,ASP式标记,Script标记
短标记和ASP式标记都是需要先开启才能使用;
ASP式标记和Script标记我们一般不推荐使用,了解即可。
注意:
若脚本含有XML语句,应避免使用短标记,因为“<?”是XML解析器的一个处理指令,会造成混淆。
2、注释
PHP支持3种:
C++风格的单行注释 “//”
C风格的多行注释 “/*......*/”
Shell风格的注释 “#”
3、输出语句
常用的有:echo,print,var_dump(),print_r()
<?php
echo 1+2,'Q';
print 'you';
echo '<br/>'; //<br/>是HTML标签,表示换行
print_r('hello');
echo '<br/>';
var_dump(2,3);
var_dump('Myon');
?>
echo 和 print 用法相同,但前者可以多个输出(多个数据间用逗号分隔),后者只能输出一个值;
print_r()是PHP的内置函数,可以输出任意类型的数据;
var_dump()不仅可以打印一个或多个任意类型数据,还可以获取数据的类型和元素个数。
下面是运行结果:
4、关键字
PHP中保留了很多关键字
例如,class关键字用于定义一个类;
const关键字用于定义常量;
function关键字用于定义一个函数。
5、常量的定义与使用
可以通过define()函数或者const关键字实现
<?php
define('PAI',3.14);
define('R',5,true);
echo PAI,"\n"; //echo输出多个数据时用逗号分隔,至于为什么换行符用双引号引而不是单引号后面解释
echo R,"\n";
echo r,"\n";
const R = 6;
const D =2*R;
echo D;
?>
运行结果:
define()函数第一个参数表示常量名称,第二个参数表示常量值;
第三个参数是可选的,用于指定常量名是否对大小写敏感,可设置为true或false,
默认是false,即会对大小写敏感。
我们上面将 ‘R’ 设置为true,则对大小写不敏感,后面输出r也是可以的,结果一样。
const关键字定义常量时,只需在后面跟上常量名称,用“=”进行赋值即可。
6、预定义常量
除自定义常量外,PHP中还提供了很多预定义常量:
常量名 | 功能 |
__FILE__ | 默认常量,PHP程序文件名 |
__LINE__ | 默认常量,PHP程序行数 |
PHP_VERSION | 内建常量,PHP程序的版本 |
PHP_OS | 内建常量,执行PHP解析器的操作系统名称 |
TRUE | 该常量是一个真值(true) |
FALSE | 该常量是一个假值(false) |
NULL | 一个null值 |
E_ERROR | 该常量指到最近的错误处 |
E_WARNING | 该常量指到最近的警告处 |
E_PARSE | 该常量指到解析语法有潜在问题处 |
E_NOTICE | 该常量为发生不寻常处的提示但不一定是错误处 |
看例子 :
<?php
echo __FILE__; //当前文件路径
echo '<br>'; //换行
echo PHP_VERSION; //当前PHP版本
echo "\n"; //换行
echo PHP_OS; //当前操作系统
echo PHP_EOL; //换行
echo __LINE__; //程序中的当前行号
?>
运行结果:
使用预定义常量可以很方便的获取到当前文件的路劲、PHP版本、操作系统等信息
顺便我们也介绍了PHP中三种常见的换行方式:
echo '<br>';
echo "\n";
echo PHP_EOL;
7、变量的赋值(传参赋值与引用赋值)
默认是传值赋值,即将“=”右边的数据赋值给左边的变量
<?php
$n1 = 10; //定义变量$n1并赋值为10
$n2 = $n1; //定义变量$n2,并将$n1的值赋给$n2
$n1 = 100; //修改$n1的值为100
echo $n1;
echo "\n";
echo $n2;
?>
运行结果:
可以看到,后面修改变量$n1的值但是并没有改变变量$n2的值
而引用赋值就是在要赋值的变量前添加“&”符号
我们对上述代码稍作修改
<?php
$n1 = 10;
$n2 = &$n1; //添加&,变为引用赋值
$n1 = 100;
echo $n1;
echo "\n";
echo $n2;
?>
可以看到修改$n1的值,$n2的值也随之改变
引用赋值就相当于给变量起了一个别名(和C++很像)
8、可变变量
为了方便在开发时动态地改变一个变量的名称
通过可变变量,可以将另一个变量的值作为该变量的名称
通过在变量前多加一个美元符号“$”来实现
(我最开始看这里是没理解的,我老是想给变量hello加上两个美元符号,其实它的意思是当我们定义好了一个可变变量,我们在用到它的时候可以用多加一个$的方式来调用这个变量,并不是在变量的值上面去多加美元符号)
来看一个简单的例子:
<?php
$a = 'hello';
$hello = 'Myon'; //将变量$a的值作为该变量的名称
echo $a,' ',$$a;
echo "\n";
echo $$a;
echo "\n";
echo $hello;
?>
运行结果:
我们可以看到 $$a 和 $hello的值是一样的
注意:
若变量$a的值是数字,则可变变量$$a就会出现非法变量名的情况
9、双引号和单引号的区别
双引号中的字符串会被解析,而单引号中的字符串则会原样输出。
<?php
$Num = 10;
echo "$Num =",$Num;
echo "\n";
echo '$Num =',$Num;
?>
10、heredoc结构和nowdoc结构
都以“<<<”开始,后跟标识符名称;
heredoc的标识符没有引号,而nowdoc的标识符必须使用单引号包裹;
结束时所引用的标识符名称与开始时相同。
<?php
$name = 'PHP';
$heredoc=<<<EOD
<ul>
<li>$name 是世界上最好的语言!</li>
<li>$name is the best programming language in the world !</li>
</ul>
EOD;
echo $heredoc;
$nowdoc = <<<'EOD'
<ul>
<li>$name是世界上最好的语言!</li>
<li>$name is the best programming language in the world!</li>
</ul>
EOD;
echo $nowdoc;
heredoc结构的字符串会解析其中的变量,nowdoc结构中的变量会被原样输出。
可以类比双引号和单引号
11、其他符号
“==”是比较运算符,用于比较左右两个值是否相等;
“.”是字符串连接符,用于连接两个字符串。
<?php
echo '123'.'ABC';
echo "\n";
var_dump(0==false);
?>