PHP基础知识总结.docx
《PHP基础知识总结.docx》由会员分享,可在线阅读,更多相关《PHP基础知识总结.docx(9页珍藏版)》请在冰点文库上搜索。
PHP基础知识总结
PHP基础知识总结
看了些PHP的基础知识,自己在这里总结下:
1,在HTML嵌入PHP脚本有三种办法:
<scriptlanguage="php">
//嵌入方式一
echo("test");
</script><?
//嵌入方式二
echo"<br>test2";
?
><?
php
//嵌入方式三
echo"<br>test3";
?
>还有一种嵌入方式,即使用和Asp相同的标记<%%>,但要修改PHP.ini相关配置,不推荐使用。
2,PHP注释分单行和多行注释,和java注释方式相同。
<?
//这里是单行注释
echo"test";
/*
这里是多行注释!
可以写很多行注释内容
*/
?
>注意不要有嵌套注释,如/*aaaa/*asdfa*/asdfasdfas*/,这样的注释会出现问题。
3,PHP主要的数据类型有5种,integer,double,string,array,object。
4,函数内调用函数外部变量,需要先用global进行声明,否则无法访问,这是PHP与其他程序语言的一个区别。
事例代码:
<?
$a=1;
functiontest(){
echo$a;
}
test();//这里将不能输出结果“1”。
functiontest2(){
global$a;
echo$a;
}
test2();//这样可以输出结果“1”。
?
>注意:
PHP可以在函数内部声明静态变量。
用途同C语言中。
5,变量的变量,变量的函数
<?
//变量的变量
$a="hello";
$$a="world";
echo"$a$hello";//将输出"helloworld"
echo"$a${$a}";//同样将输出"helloworld"
?
><?
//变量的函数functionfunc_1(){
print("test");
}functionfun($callback){
$callback();
}fun("func_1");//这样将输出"test"
?
>
6,PHP同时支持标量数组和关联数组,可以使用list()和array()来创建数组,数组下标从0开始。
如:
<?
$a[0]="abc";
$a[1]="def";$b["foo"]=13;$a[]="hello";//$a[2]="hello"
$a[]="world";//$a[3]="world"$name[]="jill";//$name[0]="jill"
$name[]="jack";//$name[1]="jack"
?
>
7,关联参数传递(&的使用),两种方法。
例:
<?
//方法一:
functionfoo(&$bar){
$bar.="andsomethingextra";
}
$str="ThisisaString,";
foo($str);
echo$str;//output:
ThisisaString,andsomethingextraecho"<br>";
//方法二:
functionfoo1($bar){
$bar.="andsomethingextra";
}
$str="ThisisaString,";foo1($str);
echo$str;//output:
ThisisaString,echo"<br>";foo1(&$str);
echo$str;//output:
ThisisaString,andsomethingextra
?
>
8,函数默认值。
PHP中函数支持设定默认值,与C++风格相同。
<?
functionmakecoffee($type="coffee"){
echo"makingacupof$type.\n";
}
echomakecoffee();//"makingacupofcoffee"
echomakecoffee("espresso");//"makingacupofespresso"
/*
注意:
当使用参数默认值时所有有默认值的参数应该在无默认值的参数的后边定义。
否则,程序将不会按照所想的工作。
*/functiontest($type="test",$ff){//错误示例
return$type.$ff;
}
9,PHP的几个特殊符号意义。
$变量
&变量的地址(加在变量前)
@不显示错误信息(加在变量前)
->类的方法或者属性
=>数组的元素值
:
三元运算子10,include()语句与require()语句
如果要根据条件或循环包含文件,需要使用include().
require()语句只是被简单的包含一次,任何的条件语句或循环等对其无效。
由于include()是一个特殊的语句结构,因此若语句在一个语句块中,则必须把他包含在一个语句块中。
<?
//下面为错误语句
if($condition)
include($file);
else
include($other);//下面为正确语句
if($condition){
include($file);
}else
{
include($other);
}
?
>
11:
PHP中str_replace函数的详解
函数原型:
mixedstr_replace(mixedneedle,mixednew_needle,mixedhaystack[,int&count]);
needle:
要被替换的字符串,new_needle:
替换用的字符串,haystack:
操作字符串,count:
替换次数【可选参数】
我们重点试验前三个在使用数组是的执行方式:
在都不使用数组时,该函数直接使用new_needle替换所有的needle并返回替换后的字符串。
如:
str_replace("m","n","mynameisjim!
")返回nynaneisjin!
1、只对needle使用数组。
示例:
str_replace(array('m','i'),'n',"mynameisjim!
");返回:
nynanensjnn!
可以看出,函数顺序性的对数组中每个字符串进行替换,并返回替换后的字符串。
2、只对new_needle使用数组。
示例:
str_replace('m',array('n','z'),"mynameisjim!
\n")返回:
ArrayynaArrayeisjiArray!
该替换比较有意思,如果只对第二个参数使用数组则函数将其作为字符串Array进行使用,将所有的needle替换为了数组。
3、只对haystack使用数组。
示例:
str_replace("m","n",array("mynameisjim!
","thegameisover!
"))该语句执行结果返回一个数组,即分别为传入的两个字符串替换后的结果。
如果输出数组内容会看到:
nynaneisjin!
theganeisover!
4、对needle和new_needle都使用数组。
示例:
str_replace(array("m","i"),array("n","z"),"mynameisjim!
")返回:
nynanezsjzn!
查看执行结果可以发现,如果前两个参数都使用数组则函数把数组各个对象项字符串进行了替换,及needle的第一项替换为new_needle的第一项。
以此类推。
如果needle数组比new_deedle长,例如:
str_replace(array("m","i","s"),array("n","z"),"mynameisjim!
");返回:
nynanezjzn!
可见,对于needle数组多出来的字符串被替换为了空串。
如果new_needle数组比needle长,例如:
str_replace(array("m","i"),array("n","z","x"),"mynameisjim!
")返回nynanezsjzn!
可见new_needle多余的项被忽略。
5、三个参数都使用数组。
例如:
str_replace(array("m","i"),array("n","z"),array("mynameisjim!
","thegameisover"))返回的数组内容:
nynanezsjzn!
theganezsover
这个比较好理解,对两个字符串分别执行替换。
1、PHP中变量都以$开头,如$a,$ab等都是变量,而函数名和常量则都是直接使用字符串/下划线开头。
2、定义常量使用define(name,value)的方式定义,注意常量只能包含字母数字下划线,且不能以数字开头。
3、定义的变量如果要在输出的字符串中引用则直接写在双引号中即可,如$a="world";echo("hello$a");输出helloworld。
4、php5中变量常量函数命名都支持汉字,但不建议使用。
如$我="一个好人";echo($我)输出“我是好人”。
5、php中变量与变量及变量与常量等之间的连接符为.(点号)。
如$a="a";$b="$b";echo($a.$b)输出ab。
6、php中全局变量与局部变量的范围完全分离,局部变量在全局不能访问,同时全局变量在函数等内部也访问不到。
如
$xp="globalvar!
";
functionfunc(){;
echo($xp);
}
将出现找不到变量$xp的错误提示。
7、几个常用的PHP常量:
__FILE__:
当前文件在服务器中的绝对存放路径:
如D:
\php\test\PHP-1.php
PHP_VERSION:
服务器PHP的版本号,如5.2.3
PHP_OS:
服务器操作系统,如WINNT。
TRUE/FALSE:
代表true/false值。
8、php注释方式有三种,分别为:
//单行注释
/*多行注释*/
#unixshell方式注释
9、静态变量其实就是不能在外部访问的全局变量。
10、PHP中对于大小写的区别比较特殊:
对于变量和常量定义是区分大小写的,而对于函数和类是不区分大小写的。
如定义了$TEst="test";则echo出$test、$TEST等都不会显示结果test。
而定义函数functiontest(){echo"test"}则不论使用TEST()还是teST()等都能正确输出结果test。
11、有关php函数参数的几点说明:
(1)可以为每个参数指定默认值,如functiontest($arg1="默认值1"){}。
(2)可以在参数列表中定义某个参数使用传值方式还是传地址方式(使用&+参数变量)。
如functiontest(&arg1)。
<?
php
functiontest($arg1,$arg2="arg2",&$arg3="arg3",$arg4="arg4"){
$br="\n<br>";
echo($arg1.$br);
echo($arg2.$br);
echo($arg3.$br);
echo($arg4.$br);
$arg3="testnew";
}$c="test";
test("xx","yy",$c);
echo$c;
?
>
以上代码将输出:
xx
yy
test
arg4
testnew