正则表达式和数组

正则表达式
斜杠代表定界符 ------/^$/

$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>";
时间: 2024-11-04 22:51:57

正则表达式和数组的相关文章

第五十一天上课 正则表达式和数组

正则表达式的常用方法: #preg_replace(正则表达式,“x”,$str)           将字符串中满足正则表达式的替换成x #preg_spilt ( 正则表达式,$str )                  将字符串按满足正则表达式的地方分隔开来,返回数组 #preg_match ( 正则表达式,$str,数组 )        将字符串str中满足正则表达式的第一个提取出来存入数组 #preg_match_all(正则表达式,$str,数组)       将字符串str中满

PHP数组(正则表达式、数组、预定义数组)

1.替换 $s = "hello5world"; $s = preg_replace("/\d/","#",$s); echo $s;//输出结果为hello#world,数字被替换成了#. //第一个数字是被替换的内容,"/\d/"表示正则表达式的数字.//第二个参数是要用什么来替换.//第三个参数是要操作的数组. 2.拆分 //$s = "hello5world"; //$attr = preg_spl

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);//匹配

10.23上午 PHP数组(数组正则表达式、数组、预定义数组)

正则表达式 1.替换 $s = "hello5world"; $s = preg_replace("/\d/","#",$s); echo $s;//输出结果为hello#world,数字被替换成了#. //第一个数字是被替换的内容,"/\d/"表示正则表达式的数字.//第二个参数是要用什么来替换.//第三个参数是要操作的数组. 2.拆分 //$s = "hello5world"; //$attr = pr

php正则表达式和数组

一.正则表达式 1. “/”代表定界符,"^"代表起始符号,"$"代表结束符号 $str1="abc123def45ghjk6789lou"; $str2="abcde5fg2h6jkl"; $reg="/\d/";       //匹配一个数字 2. echo preg_replace($reg,"#",$str1);   //将字符串str1按照正则表达式reg替换为# 输出:abc

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

<?php //正则表达式 //斜杠代表定界符 /*$b = "ab2cde123fg1h"; $a = "/\d/"; //echo preg_replace($a,"|",$b); //将字符串b按照正则表达式a替换 //var_dump(preg_split($a,$b)); //将b按照正则表达式a拆分 $shuzu = array(); preg_match($a,$b,$shuzu); //匹配满足正则表达式中的第一个数据 //

PHP正则表达式;数组:for()遍历、 foreach ()遍历、each()list()组合遍历;指针遍历

正则表达式:$s = "he8llo5wor6ld";$s = preg_replace("/\d/","#",$s);   //按照正则表达式替换$attr = preg_split("/\d/",$s);   //按照正则表达式拆分$arr = array();preg_match("/\d/",$s,$arr);   //匹配满足正则的第一个字符串preg_match_all("/\d/&q

C语言正则表达式

#include <sys/types.h> #include <regex.h> int regcomp(regex_t *preg, const char *regex, int cflags); int regexec(const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags); size_t regerror(int errcode, const regex

学习小笔记---正则表达式

定义:有一定格式的字符串 作用:1.用来判断一个字符串是否符合一定的要求 2.可以去一个字符串中,把某些符合规则的字符串拿出来 格式: 由 字符簇 限定符 定位符组成 字符簇:一组字符 由字符组成的集合 [0-9]数字 [^0-9]非数字 [a-z]小写英文 [A-Z]大写英文 [a-Z]大小写英文 [a-zA-Z] [a-zA-Z0-9]大小写英文数字 \d数字 \w数字英文字母及下划线 \D 非数字 \W 非数字英文字母及下划线 . 代表所有(任意)字符,除了换行 说明:在字符簇中出现特殊字