正则表达式php
1.替换正则表达式
$s = "hello5world"; $s = preg_replace("/\d/","#",$s); echo $s; //输出结果为hello#world,数字被替换成了#。 //第一个数字是被替换的内容,"/\d/"表示正则表达式的数字。 //第二个参数是要用什么来替换。 //第三个参数是要操做的数组。
2.拆分数组
$s = "hello5world";
$attr = preg_split("/\d/",$s); //按照正则表达式拆分
var_dump($arr);
//第一个参数是按照什么拆分,第二个参数是拆分哪一个字符串。
3.匹配安全
$s = "he8llo5wor6ld";
$arr = array();
preg_match("/\d/",$s,$arr); //匹配知足正则的第一个字符串,在这匹配出的是8(8)是字符串中的第一个数字。
preg_match_all("/\d/",$s,$arr); //匹配全部知足正则的字符串,匹配出的是全部的数字(八、五、6)。
//第一个参数是按照什么匹配
//第二个参数是匹配的数组
//第三个参数是另外一个数组,也能够是空的数组,匹配完之后的数组放在此数组中。
数组服务器
1.数组定义函数
$attr = array();//定义一个空的数组
$attr = array(1,2,3,4);//定义一个有值的数组
2.赋值定义post
$attr[0]="aa"; $attr[1]="bb"; echo $attr[1];
3.数组分类ui
(1)索引数组spa
$attr = array(1,2,3,4,5); print_r($attr);
(2)关联数组指针
$attr = array("code"=>101,"name"=>"张三","sex"=>"男");//code=>101表示赋值.code能够称为key,101称为name。 print_r($attr); echo $attr["name"];
4.遍历数组
(1)for循环遍历,只能遍历索引数组
$attr = array("aa","bb","cc","dd"); /*for($i = 0;$i<count($attr);$i++) { echo $attr[$i]."<br>"; }
(2)foreach遍历,关联和索引均可以遍历.
$attr = array("aa","bb","cc","dd"); foreach($attr as $v) { echo $v."<br>"; } //只能遍历出值 foreach($attr as $k=>$v) { echo $k."--".$v."<br>"; } //能够遍历出key和value $attr = array(1,2,3,4,5); foreach($attr as $k=>$v) { if($v == 3) { unset($attr[$k]); //删除一个元素或者删除一个变量,不能直接unset($v),由于遍历时是把数组里面的数字3复制给$v的,删除的是复制的,而不是数组里面的。 } } $attr = array_values($attr);//从新索引,删除数组元素里面的3之后,索引值变为0,1,3,4.从新索引后变为0,1,2,3。 var_dump($attr); //在其它语言中,使用foreach遍历数组里面的元素时,不能在foreach里面删除或者添加元素。只有php里面能够。
(3)使用each()和list()结合遍历
var_dump(each($attr));//取数组里面当前指针指向的元素. list($a,$b,$c,$d)=$attr;//写在等号左边的将数组里面的元素交给一组变量,数组必须是索引数组。 echo $c; list($k,$v) = each($attr); echo $k; echo $v; while(list($k,$v) = each($attr)); { echo "{$k}--{$v}<br>"; }
(4)使用指针遍历
var_dump(current($attr));//取当前指针指向的元素的值 key($attr);//取当前指针指向的元素的key next($attr);//将指针向后调一个 prev($attr);//将指针向前调一个 end($attr);//将指针向指向最后 reset($attr);//将指针重置 var_dump(next($attr)); var_dump(next($attr)); var_dump(next($attr)); var_dump(next($attr)); while(next($attr)) { echo current($attr); echo key($attr); } do { echo current($attr); echo key($attr); } while(next($attr))
预约义数组
1.$GLOBALS引用全局做用域中的全局变量
var_dump$GLOBALS()//$GLOBALS是一个数组,是系统自定义的,没法修改的,必须大写。表明全局变量的数组。
2.$_SERVER是服务器的信息
3.$_ENV表明环境变量
4.$_GET表明的是用户用_GET方式传递的数据
<body> <form action="test.php" method="get"> <input type="text" name="uid" /> <input type="text" name="pwd" /> <input type="submit" value="提交" /> </form> </body> //输入数据提交之后会显示提交的数据。var_dump($_get)能够获取提交的数据。
5.$_POST表明的是用户用post方式传递的数据
method的方式和获取的方式要对应。var_dump($_POST)
6.$_REQUEST也能够获取用户传递的数据。
$_REQUEST能够取GET方式传递的数据,也能够取POST方式传递的数据。可是通常不要用$_REQUEST,相对的不安全。
7.$_FILES;是关于表单提交文件的。
<form action="text.php" method="post" enctype="multipart/form-date">//提交文件时须要写上enctype属性,提交方式要用post
8.$_SESSION
会话控制,保存用户登陆信息的机制。若是登陆上一个页面之后必定的时间没有操做,刷新页面后会要求从新登陆,这就是_SESSION的效果。它有一个固定的时间,事后登陆信息会清除。_SESSION存储登陆信息存储在服务器上。_SESSION的安全性会更好。
9.$_COOKIE
会话控制,保存用户登陆信息的机制。若是登陆上一个页面之后必定的时间没有操做,刷新页面后不须要从新登陆,这就是_COOKIE的效果。_COOKIE存储登陆信息存储在硬盘上。_COOKIE的安全性不如_SESSION。
其它经常使用函数
1.in_array( , );判断某一个值是否是在这个数组里面存在,括号里面有两个参数,第一个参数是是否存在的值,第二个参数是检查的数组。
2.array_reverse();翻转函数,括号里面写要翻转的数组。
3.array_unique();删除重复值,去重。
4.unset($attr[0]);删除数组里的某个值。
5.array_values();从新索引。通常和删除一块儿使用。
6.array_merge();合并数组,括号里面填写n个要合并的数组。
7.array_push();往数组里面添加一个值,添加位置在末尾。
数组例子
//取数组里面的内容作下拉列表
方法1:
$attr = array(//定义一个数组,用二维数组。 array("n001","汉族"), array("n002","回族"), array("n003","满族"), array("n004","维吾尔族") ); <select> <option>全部</option> <?php foreach($attr as $v) { echo "<option>{$v[1]}</option>"; } ?> </select>
方法2:
$attr = array(//定义一个数组,用二维数组。 array("n001","汉族"), array("n002","回族"), array("n003","满族"), array("n004","维吾尔族") ); echo "<select>"; echo "<option>全部的</option>"; foreach($attr as $v) { echo "<option>{$v[1]}</option>"; } echo "</select>";
例子2:二维数组遍历到表格
$attr = array( array("code","name","民族","年龄"), array("001","张三","汉族","23"), array("002","李四","回族","34"), array("003","王五","维吾尔族","53"), array("004","宋六","壮族","26") ); echo "<table border='1px'>"; for($i=0;$i<count($attr);$i++) { echo "<tr>"; for($j=0;$j<count($attr[$i]);$j++) { echo "<td>".$attr[$i][$j]."</td>"; } echo "</tr>"; } echo "</table>";