正则表达式
/斜杠代表定界符 ^代表匹配开头 $代表匹配结尾
preg_replace) 替换
1 $str = "abcde123fg455h"; 2 $reg = "/d/"; //d表示匹配数字 3 echo preg_replace$reg,"#",$str); //将字符串str按照正则表达式reg替换为#
preg_split) 拆分
1 $str = "ab5cde3fg5h"; 2 $reg = "/d/"; 3 var_dump preg_split$reg,$str)); //将字符串str按照正则表达式拆分
preg_match) 匹配字符串中满足正则表达式中第一个数据
1 $str = "ab5cde3fg5h"; 2 $reg = "/d/"; 3 $arr=array); 4 preg_match$reg,$str,$arr); //匹配字符串中满足正则表达式中第一个数据 5 var_dump$arr);
preg_match_all); 匹配字符串中满足正则表达式的所有数据
1 $str = "ab5cde3fg5h"; 2 $reg = "/d/"; 3 $arr=array); 4 preg_match_all$reg,$str,$arr); //匹配字符串中满足正则表达式的所有数据 5 var_dump$arr);
数组
定义
1 //定义数组方式1 2 $arr =array1,2,3,4,5); 3 var_dump$arr);
//定义方式2--赋值定义 $arr1[0] = 5; $arr1[1] = 6; var_dump$arr1);
数组的分类
1 //1.索引数组 2 $arr = array1,2,3,4,5); 3 echo $arr[0];
1 //2.关联数组 2 $arr = array"one"=>5,"two"=>10); 3 echo $arr["two"];
php数组的特点:可以存储任意类型的数据,长度可以变化
数组的遍历
1.for循环遍历
1 //for循环遍历,不能遍历关联数组 2 for$i=0;$i<count$arr);$i++) 3 { 4 echo $arr[$i]."<br>"; 5 }
2.foreach遍历
1 //foreach 遍历 可以遍历关联数组 2 $arr = array"a"=>10,"b"=>20,"c"=>"hello","d"=>30); 3 foreach$arr as $value) //只取value值 4 { 5 echo $value."<br>"; 6 }
1 $arr = array"a"=>10,"b"=>20,"c"=>"hello","d"=>30); 2 foreach$arr as $key=>$value) //取key值和value值 3 { 4 echo $key."--".$value."<br>"; 5 }
3.each() 函数
//each() 函数 $arr = array"a"=>10,"b"=>20,"c"=>"hello","d"=>30); var_dump each$arr)); //返回数组里面元素的key和value var_dump each$arr)); //每次取完值向下走一个指向下一个值
4.list) 函数
1 //list)函数 2 $arr = array"a"=>10,"b"=>20,"c"=>"hello","d"=>30); 3 list$a,$b,$c,$d)=$arr; //将数组里面的值分配给list)函数里面的变量 4 echo $a;
5.each和list结合起来遍历数组
//each和list结合起来遍历数组 $arr = array"a"=>10,"b"=>20,"c"=>"hello","d"=>30); whilelist$key,$value)=each$arr)) { echo "{$key}--{$value}<br>"; }
6.指针
1 //指针 2 $arr = array"aa","bb",5,5,"cc",10,10); 3 current$arr); //取当前指针指向位置的value值 4 key$arr); //取当前指针指向位置的key 5 next$arr); //将指针向下调 6 prev$arr); //将指针向上调 7 end$arr); //将指针调向最后一个 8 reset$arr);//将指针重置,指向第一个
用指针遍历数组
1 $arr = array"aa","bb",5,5,"cc",10,10); 2 do{ 3 echo key$arr)."--".current$arr)."<br>"; 4 } 5 whilenext$arr))
$_GET $_POST 存储页面传过来的值
1 //常用函数 2 var_dumpin_array"ab",$arr)); //判断数组里面是否存在某个值 3 var_dumparray_reverse$arr)); //翻转数组 4 echo count$arr); //返回数组元素的个数 5 $attr = array_unique$arr); //去重 6 unset$attr[0]); //删除数组中的元素 7 var_dumparray_values$attr)); //重新索引 8 $attr = array1,2,3,4); 9 var_dumparray_merge$arr,$attr)); //合并数组 10 array_push$arr,"dd"); //给数组追加一个元素 11 var_dump$arr);
二位数组
1 $attr = array 2 array1,2,3), 3 array4,5,6), 4 array7,8,9) 5 ); 6 var_dump$attr);
例:将数组中的内容以下拉列表的形式展现
1 $attr = array 2 array'n001','汉族'), 3 array'n002','苗族'), 4 array'n003','回族'), 5 array'n004','维吾尔族') 6 ); 7 echo "<select>"; 8 foreach$attr as $value) 9 { 10 echo "<option value='{$value[0]}'>{$value[1]}</option>"; 11 } 12 echo "</select>";
例:将二维数组中的内容显示为一张表
1 $attr = array 2 array'p001','张三','男','汉族'), 3 array'p002','李四','女','回族'), 4 array'p003','王五','男','汉族'), 5 array'p004','赵六','女','苗族') 6 ); 7 8 echo "<table width='100%' border='1' cellpadding='0' cellspacing='0'>"; 9 10 echo "<tr><td>代号</td><td>姓名</td><td>性别</td><td>民族</td></tr>"; 11 12 for$i=0;$i<count$attr);$i++) 13 { 14 echo "<tr><td>{$attr[$i][0]}</td><td>{$attr[$i][1]}</td><td>{$attr[$i][2]}</td><td>{$attr[$i][3]}</td></tr>"; 15 } 16 17 echo "</table>";