<?php

$s = "he8llo5wor6ld";
$s = preg_replace("/\d/","#",$s);按照正则表达式替换
$attr = preg_split("/\d/",$s); 按照正则表达式拆分
$arr = array();
preg_match("/\d/",$s,$arr); 匹配满足正则的第一个字符串
preg_match_all("/\d/",$s,$arr); 匹配所有满足正则的字符串
var_dump($arr); 数组定义
$attr = array();定义一个空的数组
$attr = array(1,2,3,4); 定义一个有值的数组
$attr[0]="aa";
$attr[1]="bb";
var_dump($attr); 数组分为两种
1.索引数组
$attr = array(1,2,3,4,5);
print_r($attr);
2.关联数组
$attr = array("code"=>101,"name"=>"张三","sex"=>"男");
print_r($attr);
echo $attr["name"]; 遍历数组
$attr = array("aa","bb","cc","dd"); 1.for循环遍历,只能遍历索引数组
for($i=0;$i<count($attr);$i++)
{
echo $attr[$i]."<br>";
} 2.foreach遍历,关联索引都支持
foreach($attr as $v)
{
echo $v."<br>";
} foreach($attr as $k=>$v)
{
echo $k."---".$v."<br>";
} 3.使用each()和list()结合遍历
var_dump(each($attr)); 取数组里面当前指针指向的元素
list($a,$b,$c,$d)=$attr; 写在等号左边的,将数组里面的元素交给一组变量,数组必须是索引数组 while(list($k,$v) = each($attr))
{
echo "{$k}--{$v}<br>";
} 4.使用指针遍历
current($attr); 取当前指针指向的元素的值
echo key($attr); 取当前指针指向的元素的key
next($attr); 将指针向后调一个
next($attr);
prev($attr); 将指针向前调一个
end($attr); 将指针指向最后
reset($attr); 将指针重置
echo current($attr); while(next($attr))
{
echo current($attr);
echo key($attr);
} do
{
echo current($attr);
echo key($attr);
}
while(next($attr)) var_dump($_FILES); $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>"; ?> <select>
<option>所有</option>
<?php foreach($attr as $v)
{
echo "<option>{$v[1]}</option>";
}
?>
</select>

php正则表达式、数组的更多相关文章

  1. php 正则表达式 数组

    正则表达式 斜杠代表定界符 /^$/ $str = "好厉害18653378660了hi请勿嫁得好15165339515安徽dah矮冬瓜 拍行业大概啊好广东也欺负偶怕哈";$reg ...

  2. JavaScript系列----正则表达式

    1.正则表达式 1.1.正则表达式的类型 正则表达式在JavaScript中,提供了一种内置的构造函数--RegExp. 正则表达式有三种匹配模式: g: 表示全局模式,即模式应用于所有的字符串,而非 ...

  3. shell脚本 字串截取 正则表达式

    字串处理 子串截取方法一:使用${}表达式格式:echo ${x:起始位置:长度}(起始位置编号从0开始,可省略) 方法二:使用expr substr格式:expr substr "$x&q ...

  4. angular源码分析:angular中入境检察官$sce

    一.ng-bing-html指令问题 需求:我需要将一个变量$scope.x = '<a href="http://www.cnblogs.com/web2-developer/&qu ...

  5. PHP笔记(PHP初级篇)

    学习完HTML和CSS后,终于要开始学习PHP啦!前面的铺垫只为后路的畅顺! PHP环境搭建: 企业中常用到的环境是:Linux+Apache+MySQL+PHP 学习环境是:Windows+Apac ...

  6. 9月java货车版速记

    运算符的优先级java自带的方法正则表达式数组和二维数组:数组遍历,填充数组,数组排序,复制数组,数组查询数组算法:冒泡,选择,反转,快速类和对象:封装,继承,多态,this关键字,抽象类和接口重写和 ...

  7. Mongodb基础知识----Mongodb权威指南阅读

    文档是Mongodb中数据的基本单元,类型关系型数据库中的行,每个文档都有一个键值唯一的键_id.集合可以看做拥有动态模式的表. Mongodb一个实例可以拥有多个相互独立的数据库. Mongodb区 ...

  8. webpack3.x基本配置与总结

    基本配置 1.开始之前,请确定你已经安装了当前 Node 的较新版本. 2.然后在文件夹根目录下执行以下命令初始化项目并全局安装webpack: 1.$ cnpm init // 初始化项目 2.$ ...

  9. 一种hyperscan API使用(1)

    hyperscan: 编译和安装:http://www.cnblogs.com/zzqcn/p/4900643.html 简单介绍:http://www.cnblogs.com/zzqcn/p/489 ...

  10. kong插件应用

    插件概述 插件之于kong,就像Spring中的aop功能.在请求到达kong之后,转发给后端应用之前,你可以应用kong自带的插件对请求进行处理,合法认证,限流控制,黑白名单校验,日志采集等等.同时 ...

随机推荐

  1. ScriptManager与UpdatePanel总结

    1.From http://www.cnblogs.com/Tim-Seven/archive/2011/02/11/1952409.html Ajax Extensions 2.ScriptMana ...

  2. HDOJ 4336 Card Collector

    容斥原理+状压 Card Collector Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

  3. Swift实战之2048小游戏

    上周在图书馆借了一本Swift语言实战入门,入个门玩一玩^_^正好这本书的后面有一个2048小游戏的实例,笔者跟着实战了一把. 差不多一周的时间,到今天,游戏的基本功能已基本实现,细节我已不打算继续完 ...

  4. OpenCV imread读取图片,imshow展示图片,出现cv:Exception at memory location异常

    问题如上.环境:VS2013. 代码如下: #include "stdafx.h" #include "opencv2\opencv.hpp" using na ...

  5. linux之vim编辑神器

    设置编辑器:export EDITOR=vim 1.ctrl+x ctrl+e  创建vim临时文件 2.ctrl+[ 退回到命令模式 3.命令模式下ZZ,保存退出 4.大写I行首插入,大写A行尾插入 ...

  6. Javascript高级程序设计——函数声明与函数表达式的区别

    在Javascript中,函数是Functioin类型的实例,所以函数也具备属性和方法,因为函数是对象,所以函数名自然就是指向对象的指针啦. 函数可以通过声明语法和表达式来定义: 声明:functio ...

  7. .apache2 设置多个虚拟域名

    <VirtualHost 127.0.0.2:80> ServerName www.xylilun.cn DocumentRoot E:/www/ylll <Directory E: ...

  8. iOS 开发 初级:应用内购买 In-App Purchase

    http://blog.csdn.net/songrotek/article/details/8680415 现在有很多应用都使用了In-App Purchase,虽然对于很多用户来说,可能并不喜欢甚 ...

  9. tableview侧滑删除

    - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { ) { retu ...

  10. 解决ubuntu每次重启屏幕亮度都重置为最高亮度问题

    很多朋友都会碰到这个问题,Ubuntu系统,每次通过系统设置修改了屏幕亮度,重启系统都会将屏幕亮度调成最大值,很是苦恼. 上网搜索一番发现,修改屏幕亮度的文件是:/sys/class/backligh ...