PHP学习笔记之一
前端之家收集整理的这篇文章主要介绍了
PHP学习笔记之一,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
配置PHP以及MysqL的过程略去,如果在Ubuntu下,参考 Ubuntu 10.04 Installation Memo 即可。
1. 基本语法
要在
HTML代码中嵌入
PHP脚本的
方法是在<?php ?>中书写
代码。向浏览器
输出数据采用echo或者print
函数。echo可以接受多个参数,print 只能接受一个。echo的形式是
void echo(string arg1,[,…string argn]);
PHP语法允许省略括号。 例如,
<div class="codetitle">
<a style="CURSOR: pointer" data="9663" class="copybut" id="copybut9663" onclick="doCopy('code9663')"> 代码如下: <div class="codebody" id="code9663">
<?
PHP $my =' my ';
echo 'Hello',$my,'world'
?>
将会在浏览器上
输出 Hello my world
PHP 还
支持一个和C语言很像的printf
函数,例如 printf(‘ %d apples',100),将会
输出 100 apples。sprintf的
用法和printf一致,不过它不是
输出到浏览器,而是返回一个字符串。
2.数据类型和变量
PHP是弱类型的,一个变量不需要预先声明,也不需要指定类型。
PHP中变量是$
加上变量名,
PHP的变量是区分大小写的。 例如上例中的 $my='my'。
PHP支持的变量类型
包括:布尔型,整型,浮点型,字符串,数组和对象。前四种很常用,也和其他语言类似,不多做介绍。数组和对象后文具体介绍。
PHP中有
函数来检测 对象的类型,它们是 getttype。gettype返回一个string,它的值可以是array,boolean,double,integer,object,resource,string 和 unknow type.
PHP也
支持显式的类型转换,语法和C类似。
转换操作符 |
转换为 |
(array) |
数组 |
(bool) (boolean) |
布尔型 |
(int) (integer) |
整数 |
(object) |
对象 |
(float),(double),(real) |
浮点数 |
(string) |
字符串 |
例如:
PHP $str ='a string';
$num=15;
$numstr='123.3';
echo gettype($str),'
';
echo gettype($num),'
';
echo gettype($numstr),'
';
$numstr=(float)$numstr;
echo gettype($numstr);
?>
输出结果为: string
integer
string
double 还有
函数可以用来判断一个变量是不是某种类型,例如 is_array(),is_bool()等等,
用法都类似。
3. 函数和变量作用域
PHP声明
函数的
方法很简单,形式如下:
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
",$a,$b);
swap2($a,$b);
?>
输出结果: a is 3,b is 5
a is 5,b is 3
PHP的
函数还
支持参数的默认值,语法和C也是一样的。例如:
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,'
';
change2();
echo $taxrate,'
';
?>
输出的结果是: 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;
?>
输出结果为: I am hello
5.流程控制语句
主要
包括,if else,while,for,do while,switch. 这些和C语言都很像,基本是一致的。不多做介绍。有些不同,
PHP的 elseif是一个关键字,是连在一起的,而C语言是else if。