时间:2021-07-01 10:21:17 帮助过:25人阅读
1. 基本语法
要在HTML代码中嵌入PHP脚本的方法是在<?php ?>中书写代码。向浏览器输出数据采用echo或者print函数。echo可以接受多个参数,print 只能接受一个。echo的形式是
void echo(string arg1,[,…string argn]);
PHP语法允许省略括号。 例如,
代码如下:
输出 Hello my world
<?php
$my =' my ';
echo 'Hello',$my,'world'
?>
将会在浏览器上
输出结果为:
<?php
$str ='a string';
$num=15;
$numstr='123.3';
echo gettype($str),'<br/>';
echo gettype($num),'<br/>';
echo gettype($numstr),'<br/>';
$numstr=(float)$numstr;
echo gettype($numstr);
?>
function functionName(parameters){
function body
}
不需要指定返回类型,括号中也不需要指定变量类型,只要有变量名就可以。例如:
代码如下:
<?php
function taxedPrice($price,$taxrate){
return $price*(1+$taxrate);
}
echo taxedPrice(100, 0.03);
?>
默认情况下,PHP是按值传递参数的,在函数内改变参数的值并不会改变函数外变量的值,但是PHP也支持按引用传递,语法和C一致,&$paramName,例如,下面一个经典的例子:
代码如下:输出结果:
<?php
function swap1($x,$y){
$t=$x;$x=$y;$y=$t;
}
function swap2(&$x,&$y){
$t=$x;$x=$y;$y=$t;
}
$a=3;$b=5;
swap1($a,$b);
printf("a is %d, b is %d <br/>",$a,$b);
swap2($a,$b);
printf("a is %d, b is %d <br/>",$a,$b);
?>
a is 3, b is 5
a is 5, b is 3
PHP的函数还支持参数的默认值,语法和C也是一样的。例如:
代码如下:结果为: I am hello
<?php
function taxedPrice($price,$taxrate=0.03){
return $price*(1+$taxrate);
}
echo taxedPrice(100);
?>
下面介绍变量的作用域。PHP的变量作用域和C很类似,有局部变量,函数参数,全局变量,静态变量4种。局部变量就是在函数内声明的变量,函数参数是在函数首部声明的变量;不在函数中声明的变量是全局变量,全局变量可以在任何地方访问到,但是和C不同的是,如果在函数中要修改全局变量的值需要用GLOBAL关键字显式指定它是全局变量,否则PHP就会声明一个同名的局部变量并且覆盖它。例如:
代码如下:输出的结果是:
<?php
$taxrate=0.03; //global
function change1() {
$taxrate+=1;
}
function change2() {
GLOBAL $taxrate;
$taxrate+=1;
}
change1();
echo $taxrate,'<br/>';
change2();
echo $taxrate,'<br/>';
?>
0.03
1.03
PHP还有一种超级全局变量。超级全局变量是由PHP系统预定义的,主要用来访问与环境有关的信息,例如当前用户会话,用户操作环境和本地环境等。超级全局变量是一个数组,例如$_SERVER中存储了服务器相关的信息。$_GET,$_POST,$_FILES,$_COOKIE中分别存储了客户端采用get提交,和post的提交的信息,上传的文件,cookie信息等。这些变量的使用都很简单,需要什么信息只需要查找
4 变量的变量
和C一类的静态语言不同,PHP的变量名本身可以是一个变量,这对于需要动态生成很多变量的时候是很便利的。例如:
代码如下:输出
<?php
$r="hello";
$$r="I am hello";
echo $hello;
?>
5.流程控制语句
主要包括,if else, while,for,do while,switch. 这些和C语言都很像,基本是一致的。不多做介绍。有些不同,PHP的 elseif是一个关键字,是连在一起的,而C语言是else if。