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