运算符=============================================================================
一、算数运算符:数字型与字符型的数字 是可以用算术运算符运算的 结果的类型是数字型
1、运算符
+ :数字求和
- :数字减法、对数字取相反数
* :乘
/ :除
% :取余
2、复合赋值运算符
+=、-=、*=、/=、%=、.=
二、自增与自减
1、功能
++:对运算数进行递增操作
-- :对运算数进行递减操作
2、位置
在运算数之前,先递增或递减,再赋值
$i = 1;
$a = i++; //$a = 1; 此时i为2,但赋给a的是1
在运算数之后,先赋值,再递增或递减
$i = 1;
$a = ++i; //$a = 2; 先执行i加1 再赋值给a
三、关系运算符
1、大小关系检测
>、>=、<、<=
满足返回true,不满足返回false
2、等值关系检测
==、!=、<>(不等):判断返回值是否相等或者不等
===、!==:判断返回值及返回类型是否相等或者不等
$aa = 10;
$bb = "10";
alert($aa === $bb);
3、逻辑运算符
与(and、&&):如果 x 和 y 都为 true,则返回 true
或(or、||):如果 x 和 y 至少有一个为 true,则返回 true
异或(xor、!):如果 x 和 y 有且仅有一个为 true,则返回 true
四、三元运算符
表达式:? expr1: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。
$max = a>b?a:b;
五、数组运算符
1、x + y:集合
x 和 y 的集合
2、x == y:相等
如果 x 和 y 具有相同的键/值对,则返回 true
3、x === y:恒等
如果 x 和 y 具有相同的键/值对,且顺序相同类型相同,则返回 true
4、x != y:不相等
如果 x 不等于 y,则返回 true
5、x <> y:不相等
如果 x 不等于 y,则返回 true
6、x !== y:不恒等
如果 x 不等于 y,则返回 true
字符串处理函数======================================================================
一、去除空格
1、trim(string) 去除字符串两边空格
2、ltrim(sring,'特殊字符') 去除字符串左边空格和特殊字符(特殊字符是可选参数)
3、rtrim(sring,'特殊字符') 去除字符串右边空格和特殊字符(特殊字符是可选参数)
$str="(:@_@ hello world! @_@:)";
$a=ltrim($str);//去掉左边空格
$aa=ltrim($str,"(:@_@ ");//去掉左边空格和左边的特殊字符(:@——@
$b=rtrim($str);//去掉右边空格
$bb=rtrim($str," @_@:)");//去掉右边空格和特殊字符@_@:)
$cc=ltrim($str,"(:@_@ hell");//去掉左边的(:@——@和hell
echo $str."<br>".$a."<br>".$aa."<br>".$b."<br>".$bb."<br>".$cc;
二、字符串截取
1、substr(字符串名,截取开始位置,截取长度)
$str="百度一下";
$aa=substr($str,1,2);
echo $aa;
2、mb_substr($str,0,4,'utf8'):中文字符截取
三、字符串分割
explode():返回值存到数组中,即返回数组
$str="hello|world|i|am|com";
$aa=explode("|",$str);//以“|”为分割界限,对字符串进行分割
var_dump($aa);//查看一下是不是数组
echo $aa[2];//返回数组的索引2;
四、字符串合成
implode() 又名join():返回字符串
$str="hello|world|i|am|com";
$aa=explode("|",$str);
var_dump($aa);
echo $aa[2];
$bb=implode("@",$aa);//将上边得到的数组$aa,合成得到一个字符串类型的变量$bb,并用“@”把原来数组每一项隔开,组成新字符串
var_dump($bb);
echo $bb;
五、字符串替换
str_replace(替换前的字符,替换后字符,字符串名)
$str="hello world";
$aa=str_replace("hell","1234",$str);
echo $aa;
六、检索字符串中子串出现的次数
substr_count(字符串名,'查找的字符串')
$str="aaaabbbbbbbbbbbbbbaaaacccccccccccaaaaffffffffffaaaarrrrrrrrr";
$aa=substr_count($str,"aaaa");
echo $aa;//输出4
七、大小写转换
1、strtoupper()函数--将字符串转换为大写
2、strtolower()函数--将字符串转换为小写
$str="Hello World!";
$str1=strtoupper($str);
$str2=strtolower($str);
echo $str1."<br><br>".$str2;
八、获取字符串长度
strlen()
$str="Hello World!";
echo strlen($str);//输出12
九、定位查找
strops(字符串名,要查找的字符)函数--查找字符第一出线的索引
$str="aaaabbaaaaaaaaaaaaaaaaaaabbaaaaaaaa";
$str1=strpos($str,"b");
echo $str1;//输出4
十、货币数据字符的格式化输出
number_format()函数--把数字以货币的形式输出
$str="19846700";
$str1=number_format($str);
echo $str1;//输出19,846,700
十一、日期时间的格式化输出
date()函数
echo date("Y-m-d H-i-s");//输出2016-12-14 12-12-52
解析符号========================================================================
一、单引号,单引号中的内容会被直接当成一个字符串,单引号中无法输出变量值
$a = 'abcd';
echo '$a'; // 输出结果就是 $a,而不是 abcd
二、双引号,双引号中可以输出简单变量,不能输出复杂变量,否则会报错
$a = 'abcd';
$b = array('aaa' => 'abcd');
echo "$a"; // 输出 abcd,因为双引号中可以解析简单变量
echo "$b['aaa']"; // 直接报错,因为双引号中不能解析复杂变量
三、花括号,花括号中既可以输出简单变量,也可以输出复杂变量,如数组、对象等;
$a = 'abcd';
$b = array('aaa' => 'abcd', 'bbb' => array(12,34));
echo "{$a}"; // 输出 abcd
echo "{$b['aaa']}"; // 输出 abcd
echo "{$b['bbb'][1]}"; // 输出 34
数组==============================================================================
一、定义:数组是一个能在单个变量中存储多个值的特殊变量,并且可以根据键访问其中的值
二、数组分类
1、索引数组:用数字作为键名的数组一般叫做索引数组
$cars=array("Volvo","BMW","Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
2、关联数组:用字符串表示键的数组就是关联数组
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
3、多维数组
包含一个或者多个数组的数组
三、数组定义方式
1、$array = array(); 空数组
2、$array = array(1,2,3,4,5); 索引数组
3、$array = array(1=>"aa","bb"=>2); 关联数组
四、取值
1、$array[0]
2、$array["bb"]
五、遍历数组
遍历方式:
1、for循环:只能遍历索引数组
2、foreach:
遍历索引:foreach($array as $value)
遍历关联:foreach ($array1 as $key => $value)
3、each( ):返回数组中当前的键/值对并将数组指针向前移动一步
$attr = array('name'=>'zhangsan','age'=>20);
var_dump(each($attr));//each($attr)[1] each($attr)[0]
var_dump(each($attr));//each($attr)[1] each($attr)[0]
4、list( ):从数组中取值赋给一组变量
$attr = array(1,2,3);
list($a,$b,$c)=$attr; //将右侧数组里面的元素赋值给参数列表里面的变量
echo $a,$b,$c;
5、each( )和list( )结合
$attr1 = array("one"=>1,"two"=>2,"3"=>3);
//$attr1 = array(1,2,3);
while(list($k,$v) = each($attr1))
{
/*echo "{$k}--{$v}<br>"; */
echo $k.'--'.$v;
}
6、使用指针
current():取得目前指针位置的内容资料
key():取得目前指针位置的索引值
prev():将数组的内部指针倒回一位
next():将数组中的内部指针向前移动一位
end():将数组的内部指针指向最后一个单元
reset():将数组的内部指针指向第一个单元
$attr1 = array("one"=>1,"two"=>2,"3"=>3)
echo current($attr1); //取指针指向的当前元素的value值
echo key($attr1); //取指针指向的当前元素的key
next($attr1); //将指针向下调一个
prev($attr1); //将指针向上调一个
end($attr1); //将指针调向最后一个元素
reset($attr1); //将指针复位
7、遍历索引数组
$attr = array(1,2,3);
for($i=0;$i<count($attr);$i++)
{
echo $attr[$i]."<br>";
}
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
8、遍历关联数组
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
六、其它常用函数
1、in_array():检查数组中是否存在某值
$sites = array("Google", "Runoob", "Taobao", "Facebook");
if (in_array("Runoob", $sites))
{
echo "找到匹配项!";
}
else
{
echo "没有找到匹配项!";
}
2、array_reverse():将数组中的元素顺序翻转,创建新的数组并返回
$a=array("a"=>"Volvo","b"=>"BMW","c"=>"Toyota");
print_r(array_reverse($a));
3、count():计算数组中的元素数目或对象中的属性个数
4、array_unique():删除数组中重复的值并返回新的数组
$a=array("a"=>"red","b"=>"green","c"=>"red");
print_r(array_unique($a));
5、unset($arr[0]):删除数组的某个值
<?php
// 销毁单个变量
unset ($foo);
// 销毁单个数组元素
unset ($bar['quux']);
// 销毁一个以上的变量
unset ($foo1, $foo2, $foo3);
?>
6、array_values($arr):返回包含数组中所有的值的数组。
提示:被返回的数组将使用数值键,从 0 开始且以 1 递增。
$a=array("Name"=>"Peter","Age"=>"41","Country"=>"USA");
print_r(array_values($a));
7、array_merge():把两个数组合并为一个数组、给数组重新排序
$a1=array("red","green");
$a2=array("blue","yellow");
print_r(array_merge($a1,$a2));
8、array_push():在数组尾添加元素
$a=array("red","green");
array_push($a,"blue","yellow");
print_r($a);
?>