php正则表达式and数组
<?php
//正则表达式
//斜杠代表定界符 /^$/
/*
$str="abcde123fg456h";
$reg="/\d/";
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);
*/
//数组
//定义
/*
$arr=array(1,2,3,4,5);//1.定义数组1
//2.赋值定义
$arr[1]=5;
$arr[2]=6;
var_dump($arr);
*/
//数组分类
//1.索引数组
/*$arr=array(1,2,3,4,5);
echo $arr[0];*/
//2.关联数组
/*$arr=array("code"=>5,"name"=>10);
echo $arr["name"];*/
//php数组特点:可以存储任意类型的数据,长度可以变化
//$arr=array("aa","bb",5,"cc",10);
//$arr=array("a"=>10,"b"=>20,"c"=>"hello","d">=30);//关联数组不能用for循环遍历
//for循环遍历
/*for($i=0;$i<count($arr);$i++)
{
echo $arr[$i]."<br>";
}*/
//2.foreach遍历
/*$arr=array("a"=>10,"b"=>20,"c"=>"hello","d"=>30);//关联数组不能用for循环遍历
foreach($arr as $value)
{
echo $value."<br>";
}
foreach($arr as $key=>$value)
{
echo $key."--".$value."<br>";
}*/
//3.each()函数
/*
$arr=array("a"=>10,"b"=>20,"c"=>"hello","d"=>30);
var_dump(each($arr));//返回数组里面元素的key和value
var_dump(each($arr));//每次取完值向下走一个指向下一个值
//4.list()函数
$arr=array("aa","bb",5,"cc",10);
list($a,$b,$c,$d)=$arr;//将数组arr中的值分配给list函数中的变量;list中可以少写,不可多写
echo $d;
*/
//5.each()和list()结合起来遍历数组
/*
$arr=array("aa","bb",5,"cc",10);
while(list($key,$value)=each($arr))
{
echo "{$key}--{$value}<br>";
}*/
//6.指针
//$arr=array("aa","bb",5,"cc",10);
//var_dump(current($arr)); //取当前指针指向位置的value值
//echo key($arr);//取当前指针指向位置的key值
//next($arr); //将指针向下调
//echo key($arr);
//prev($arr); //将指针向上调
//end($arr); //将指针调到最后
//rest($arr); //将指针重置,调到第一个
//$arr=array("aa","bb",5,"cc",10);
/*while(next($arr))
{
echo key($arr)."--".current($arr)."<br>";
}*/
/*do
{
echo key($arr)."--".current($arr)."<br>";
}
while(next($arr))*/
/*
$arr=array("aa","bb",5,5,"cc",10);
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,5);
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='800px' border='1px' cellspacing='0' cellpadding='0' align='center'>";
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>";