php 正则表达式 数组,php正则表达式和数组

一、正则表达式

1. “/”代表定界符,"^"代表起始符号,"$"代表结束符号

$str1="abc123def45ghjk6789lou";

$str2="abcde5fg2h6jkl";

$reg="/\d/";       //匹配一个数字

2. echo preg_replace($reg,"#",$str1);   //将字符串str1按照正则表达式reg替换为#

输出:abc###def##ghjk####lou

3. var_dump(preg_split($reg,$str2));  //将字符串str2按照正则表达式reg拆分,返回一个数组

输出: array(4) { [0]=> string(5) "abcde" [1]=> string(2) "fg" [2]=> string(1) "h" [3]=> string(3) "jkl" }

4. $str=" 接我去哦爱丽丝18953364666疯狂群卡里的书法13853369999家穷奇啊";

$reg="/(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|170[0|5|7|8|9]|17[6|7|8]|18[0-9])\d{8}/";   //手机号正则表达式

$arr=array();

preg_match($reg,$str,$arr);       //匹配字符串中满足正则表达式的第一个数据

var_dump($arr);

preg_match_all($reg,$str,$arr);//匹配字符串中满足正则表达式的所有数据

var_dump($arr);

二、数组

1.定义数组:

方式一: 标准array定义

$arr=array(1,2,3,4,5);

方式二: 赋值定义:

$arr[0]=5;

$arr[1]=6;

var_dump($arr);

2.分类:

2.1 索引数组: 数组内只写value值,索引自动生成,根据索引数字取值

$arr=array(1,2,3,4,5);

echo $arr[0];

2.2 关联数组: key => value,key与value一一对应,成对存在

$arr=("one"=>5,"two"=>10);

echo $arr["two"];

注意: 关联数组关系更加清晰,key与value必须写全

php数组特点: 可以存储任意类型数据,长度可以变化,特有关联数组

3.遍历数组

3.1for循环遍历: 不能遍历关联数组

$arr=array("aa","bb","cc",5,"d",10);

$arr=array("a"=>10,"b"=>5,"c"=>"hello","d"=>20);

for($i=0;$i

{

echo $arr[$i]."
";

}

3.2foreach遍历: 可以遍历关联数组

只取value值:

foreach($arr as $value)

{

echo $value."
";

}

取key与value:

foreach($arr as $key=>$value)

{

echo $key."--".$value."
";

}

3.3 each()函数

var_dump(each($arr));    //返回数组里面元素的key和value

var_dump(each($arr));    //每次取完值向下走一个,指向下一个值

相当于指针,第一次取值,指针指向第一个元素,第二次取,指针指向第二个元素

3.4 list()函数  比较特殊,出现在等号左边

list($a,$b,$c)=$arr;    //将数组里面的值分配给list函数里的变量,变量可以少,但不能多

echo $a;  //输出: aa

each()和list()结合起来遍历数组 :可以遍历关联数组

while(list($key,$value)=each($arr))

{

echo "{$key}--{$value}
";

}

3.5指针遍历  :  可以遍历关联数组

var_dump(current($arr));    //取当前指针指向位置的value值

echo key($arr);                  //取当前指针指向位置的key

next($arr);                      //将指针向下调

echo $key($arr);

prev($arr);                      //将指针往上调

end($arr);                       //将指针调向最后一个

reset($arr);                       //将指针重置,指向第一个

do{

echo key($arr)."--".current($arr)."
";

}

while(next($arr))

而while(next($arr))

do{

echo key($arr)."--".current($arr)."
";

}

先执行next(),取不到第一个元素

4.预定义数组

global                              //声明为全局变量

$GLOBALS                      //引用全局作用域中可用的全局变量

var_dump($_SERVER);    //服务器和执行环境信息

var_dump($_ENV);         //环境变量

var_dump($_GET);         //HTTP GET变量     存储页面传过来的值

var_dump($_POST);       //HTTP POST变量    存储页面传过来的值

$_REQUEST                   //HTTP REQUEST变量

$_FILES                         //HTTP FILES变量

$_SESSION                    //SESSION变量

$_COOKIE                      //HTTP Cookies

5.数组常用函数

$arr=array("aa","bb","cc",5,"d",10);

$arr=array("a"=>10,"b"=>5,"c"=>"hello","d"=>20);

var_dump(in_array("aa",$arr));          //判断数组中是否存在某个值,若存在则返回true,否则返回false     可判断关联数组中的value值, 而不能判断key

var_dump(array_reverse($arr));        //翻转数组

echo count($arr);                            //返回数组元素的个数

$attr=array_unique($arr);                //去重,返回一个新数组, 若为索引数组,则重复元素的索引也去掉了

unset($arr[0]);||unset($arr["a"]);   //删除数组中的元素,根据索引或key

var_dump(array_values($attr));      //重新索引, 关联数组中的key也变为索引

$attr=(1,2,3,4);

var_dump(array_merge($arr,$attr)); //合并数组,重新索引,关联数组的key不变

array_push($arr,"dd");                    //给数组追加一个元素     成为数组的最后一个元素

6.二维数组

$attr=array(

array(1,2,3),

array(4,5,6),

array(7,8,9)

);

var_dump($attr);

例1:

$attr=array(

array("n001","汉族"),

array("n002","苗族"),

array("n003","回族"),

array("n004","维吾尔族")

);

1.1 将二维数组中的内容以下拉列表的形式显示:

echo "";

foreach($attr as $value)

{

echo "{$value[1]}";

}

echo "";

b14ff26c7e73cde237c2e47a79e0ec8a.png

1.2 将二维数组中的内容以div的形式显示:

.minzu{ width=100px; background-color:red; color:white; border:1px solid;}

foreach($attr as $v)

{

echo "

{$v[0]},{$v[1]}
";

}

?>

07d05bdba9fc0b108bb5aaa0e66b454b.png

例2:

$attr = array(

array(‘p001‘,‘张三‘,‘男‘,‘汉族‘),

array(‘p002‘,‘李四‘,‘女‘,‘回族‘),

array(‘p003‘,‘王五‘,‘男‘,‘汉族‘),

array(‘p004‘,‘赵六‘,‘女‘,‘苗族‘)

);

2.1 将二维数组的内容以表格形式显示

echo "

echo "

代号姓名性别民族";

for($i=0;$i

{

echo "

{$attr[$i][0]}{$attr[$i][1]}{$attr[$i][2]}{$attr[$i][3]}";

}

echo "

";

e5f6e758b2f367666d931d917d6b44e4.png

2.2 或者在表格中引用php代码:

代号姓名性别民族

for($i=0;$i

{

echo "

{$attr[$i][0]}{$attr[$i][1]}{$attr[$i][2]}{$attr[$i][3]}";

}

?>

原文:http://www.cnblogs.com/xinghun/p/5449759.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值