1 算术运算符
运算符 | 表达式 |
---|---|
加法运算符 | $a+$b |
减法运算符 | $a-$b |
乘法运算符 | $a*$b |
除法运算符 | $a/$b |
取模运算符 | $a%$b |
2 赋值运算符
运算符 | 表达式 |
---|---|
$a += 5 | $a = $a+5 |
$a -= 5 | $a = $a- 5 |
$a*=5 | $a = $a*5 |
$a.5 =5 | $a = $a.5 |
3递增(++)/递减(--)
运算符 | 表达式 |
---|---|
++$i(先加) | $i的值加一,然后再返回$i的值 |
$i++(后加) | 先返回$i的值,然后再将$i的值加一 |
--$i(先减) | $i的值先减一,然后再返回$i的值 |
$i--(后减) | 想返回$i的值,然后再将$i的值减一 |
4 函数
#函数可以分为内置函数和自定义的函数
- php的函数不支持重载,所以自定义的函数不能和内置的函数重名
- 不能在一个文件中自定义同名的的函数
- 参数出现在括号中,如果有多个的参数用逗号分隔
- 很多语言允许函数(方法)的重载,即函数有相同的名称但是函数的参数不同
5 参数的传递
#值传递(传值): 函数内对参数值得改变不会影响函数外部的值
#引用传递(传址):
1.在有些情况下,可能希望在函数体内对参数的修改在函数体外也能反应
2.使用引用传递参数要在参数前加上&符号
3.变量本身传入,传入后的变量与原变量建立联系;
- 参数可以分为默认的参数值和可选参数
6 函数的返回值
通常用return语句返回结果,return语句执行后,使得函数立即结束运行,并将控制权返回给被调用的行
function mysquare($a) {
if($a == '') {
return;
}
$res = $a*$a;
return $res;
}
echo mysquare(2);
7 函数的变量作用域
#1.全局变量
#2.局部变量:在函数体内定义的变量,只在函数体内可见
#3.静态变量:只会初始化一次;
function say($a,$b = 29,$c = "kkkk") {
echo $a . $b . $c;
}
say(1,34); // 1,34,kkkk
echo "<hr/>";
$count = 10;
function text() {
// 在函数内部使用函数外部的变量,需要使用global重新修饰一下
global $count;
$count = 100;
echo $count . "<hr/>";
}
text();
echo $count;
//静态变量
function add() {
//使用static修改的变量为静态的变量,特点是:只被初始化一次
static $num = 0;
$num++;
echo "<hr/>" . $num;
}
add();
add();
add();
8 include和require
- include() 语句将在其被调用的位置处包含一个文件夹
include("init.php")
include_once 与include()的作用相同,不过它会首先验证是否已经包含了该文件,如果已经包含,则不再执行include_once();
require()和include()一样,但是require()通常放在程序的最前面;
require_once()和include_once()一样,放在程序的最前面;
include()和require()的区别
require一个文件存在错误的话,那么程序就会中断执行了,并显示致命的错误,(调试的时候使用)
include一个文件存在错误的话,那么程序不会中断,而是继续的执行,并显示一个警告的错误(上线的时候使用)
9 数组
- 1 数组根据索引值的不同分为:索引数组和关联数组
索引数组:可以使整形的数字或是字符串,当索引为整数,如果没有指定索引值则默认为零,依次递增.
$day = array("w","f","g");
关联数组:索引为字符串的数组.
$week = array("a"=>"星期一","b"=>"星期二","c"=>"星期三");
- 2 直接对数组的变量赋值
//$arr = array(13,24,89);
$arr = array('ss','dj',);
$arr[] = 88;
$arr[] = 99;
print_r($arr); // [0] => ss [1] => dj [2] => 88 [3] => 99
echo $arr[2];
echo "<hr/>";
$arr2 = array(
"one" => "1",
"two" => "2",
0 => "5"
);
$arr2[] = "3";
print_r($arr2);
- 3 使用函数创建数组
echo "<br/>";
$arr3 = range(10,45);
print_r($arr3);
- 4 数组的基本操作
1.unset($arr[0]) // 删除数组元素;
2. print_r($arr) // 打印数组;
3. count($arr) // 取得数组元素的个数
4. in_array(10,$arr)// 检查数组中是否包含某个值
在php中遍历数组用的最多的是foreach
-
5 数组的排序
`
(1).sort()/rsort() 对数组进行升序和降序
(2).ksort()/krsort()对数组按索引值进行升序或是降序,并保持索引关系
// 数组排序
$name = array(
"xiaobei" => "age",
"xiaodong" => "sdao",
"xiaoli" => "gbe",
"aaaa" => "aaaa",
"zzzz" => "zzzz"
);//sort($name);//升序 //rsort($name);//降序 //ksort($name); // krsort($name); // foreach ($name as $key => $value) { // echo "$key = $value<hr/>"; // }
(3)二维数组
$name = array("L" => array("李大泽","李勇"), "Z" => array("张辉","张龙"), ); foreach ($name as $key => $value) { foreach ($value as $key1 => $value1) { echo $value1 . "<hr/>"; } }
(4).数组字符串转换
$myname = "wei xin fei fei";
$arr = explode(" ", $myname);
print_r($arr);
foreach ($arr as $key => $value) {
echo $value . "
";
}
$newname = implode(",",$arr);
echo '[' . $newname . ']';
10 字符串
- 查找
$str = "jin tian shi xing qi er";
echo strpos($str, "tian");
echo stripos($str, "XING");// 不区分大小写
- 替换
echo "<hr/>";
$email = "lize@lanou3g.com";
echo str_ireplace("lize", "xiaoze", $email);
echo $email;
- 截取字符串
echo "<hr/>";
echo substr("shjfhkfhk",5);
echo "<hr/>";
echo substr("hjhihsbabm",3,2);
echo "<hr/>";
echo strstr("hello word", "lo");
echo strstr("hello word", "ly");
- 删除字符串
echo "<br/>";
$like = " xiang yun ye gou ";
echo "(" . trim($like) . ")";
- 获取字符串的长度
echo "<br/>";
$liek = "xiao GBR";
echo strlen($liek);
- 转换大小写
echo strtoupper($liek);
echo strtolower($liek);
-
字符串翻转
echo "
";
$name = "abcd";
echo strrev($name);$hello = "hello world"; echo nl2br($hello); echo "<hr/>"; $str = 'text<a href = "http://www.163.com">163</a>'; echo $str; echo strip_tags($str); echo "<hr/>"; $str = "<h1>jgsdjkghkjshghfjfj</h1>"; echo $str; echo htmlspecialchars($str);