1. 变量:
1. 以$开头,后接变量名。
2. 变量可以使用英文字符,数字下划线,需要用字母或下划线开头。
3. 松散数据类型,不需要事先声明(强类型需要先声明再使用)。
4. 大小写敏感。
2. 变量类型:
局部变量:默认
全局变量:在<?php ?>内有效。
静态变量:一直有效。
3. 数据输出:
echo "str1","str2","str3".<span style="white-space:pre"> </span>//可同时输出多个字符串
print "str1";<span style="white-space:pre"> </span>// 每次只能输出一个串
print "str2";
整数,浮点数,字符串,布尔值(true/false),数组,对象,NULL
5. 常量:
define('const_val_name','const_val');
define('const_val_name','const_val',false);<p><span style="white-space: pre;"> </span>//第一个参数指常量名,第二个参数是常数值,第三个参数指是否大小写敏感。默认false.</p>
6/ 运算符:
数学运算符:+|-|*|/|%
复制运算符:=|+=|-=|*=|/=|%=
字符串连接:.|.=
自增运算符:x++|x--|++x|--x //类似C的逻辑
比较运算符:==|===|!=|<>|!==|>|<|>=|<= //注意===为全等,除了值等,还需要类型相等。
逻辑运算符:and|or|xor|&&|(||)|! //
数组运算符:+|==|===|!=|<>|!==
7. 控制流程:
// if/elseif/else
if($x == 1){
// code block
}else if($x == 2){
// code block
}else{
// code block
}
// switch
switch($val){
case label1:
//code block;
break;
case label2:
//code block;
break;
default:
//code block;
}
// 循环
// while
$i =0;
$sum = 0;
while($i<10){
$sum = $sum + $i;
$i++;
}
// do...while
$i = 0;
$sum = 0;
do{
$sum = $sum + $i;
$i++;
}while($i<10);
// for
for($i=0;$i<10;$i++){
$sum = $sum + $i;
}
// foreach - 遍历数组的每一个元素
$array1['key1'] = 'val1';
$array1['key2'] = 'val2';
$array1['key3'] = 'val3';
$array1['key4'] = 'val4';
foreach($array1 as $value){
echo $value.'|';
}
foreach($array1 as $key=>$value){
$echo 'key:'.$key.' - value:'.$value;
}
8. 数组:
// 数组定义/初始化
$array1 = array('value1','value2','value3'...);
// 这种类型的数组,下标从0开始,可以访问$array1[0],$array1[1]...;
// or 索引数组
$array1[0] = 'value1';
$array1[1] = 'value2';
$array1[2] = 'value3';
// or 关联数组
$array1['key1'] = 'value1';
$array1['key2'] = 'value2';
$array1['key3'] = 'value3';
// 数组使用
$key = $array1[0];
$key = $array1['key1'];
使用foreach可以遍历整个数组。
对于索引数组,可以使用for进行遍历,遍历前需要知道数组长度。$num = count($array1);//获取数组长度,即元素个数。
// 数组排序
sort() - 升序
rsort() - 降序
asort() - 按指升序
ksort() - 按键升序
arsort()- 按值降序
krsort()- 按键降序
如:asort($array1);执行后,$array1的顺序会被改变,即参数会被修改,有点类似C中指针的处理。
9. 字符串函数:
chop/rtrim()
ltrim()
trim()
nl2br() //将\n转<br>
strtolower()
strtoupper()
ucwords()
ucfirst()
substr(string src,int start_index,[int len]);
strpos(string str,string needle,[int offset]);
str_replace(string str,string old_rep,string new_rep);
10. 函数:
function fun(){
// code block
}
function fun(){
$ret = 0;
// code block
return $ret;
}
function fun($p1,$p2,....$pn){
// code block
}
function fun($p1,$p2,....$pn){
$ret = 0;
// code block
return $ret;
}function fun(){
<span style="white-space:pre"> </span>// code block
}
// 调用 fun(); fun($p1,$p2,$p3....$pn); $result = fun(); $result = fun($p1,$p2,....$pn);