php遍历循环数组实现方法

 更新时间:2016年11月25日 15:10  点击:1354

文章简单利用foreach for list each while来遍历数组,包括普通的一维数组与二维数组遍历方法,下面详细的介绍了每个函数的使用方法。
*/

$foreach = array(1,2,3);
$array2 = array(array('aa'=>33,'bb'=>22,'www.111cn.net'=>11),array('dd'=>44,'ee'=>55,'ff'=>66));

//利用for foreach遍历一维数据

for( $i=0;$i<count($foreach);$i++)
{
 echo 'foreach['.$i.']='.$foreach[$i].'<br>';
}
/*
foreach[0]=1
foreach[1]=2
foreach[2]=3

再看利用foreach来遍历
*/

foreach( $foreach as $v )
{
 echo 'foreach='.$v.'<br>';
}
/*
foreach=1
foreach=2
foreach=3

上面用的都是遍历一维数据,下面来看二维数组
*/

foreach($array2 as $key=>$value)
{
 foreach($value as $k=>$v)
 {
  echo '$arr['.$key.']['.$k.']='.$v;
 }
 echo "<br>";
}


/*//看一下list each
each() 函数生成一个由数组当前内部指针所指向的元素的键名和键值组成的数组,并把内部指针向前移动。

返回的数组中包括的四个元素:键名为 0,1,key 和 value。单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据。

如果内部指针越过了数组范围,本函数将返回 false。

语法
each(array)参数 描述
array 必需。规定要使用的数组。


list函数

list() 函数用数组中的元素为一组变量赋值。

注意,与 array() 类似,list() 实际上是一种语言结构,不是函数。

语法
list(var1,var2...)参数 描述
var1 必需。第一个需要赋值的变量。
var2 可选。可以有多个变量。
提示和注释
注释:该函数只用于数字索引的数组,且假定数字索引从 0 开始


*/

$colors = array('red','blue','green','yellow');
 
while(list($key,$val) = each($colors)) {
    echo "other list of $val.<br />";
}

/*
other list of red.
other list of blue.
other list of green.
other list of yellow.
for 语句
如果您已经确定了代码块的重复执行次数,则可以使用 for 语句。

语法
for (initialization; condition; increment)
{
  code to be executed;
}
注释:for 语句有三个参数。第一个参数初始化变量,第二个参数保存条件,第三个参数包含执行循环所需的增量。如果 initialization 或 increment 参数中包括了多个变量,需要用逗号进行分隔。而条件必须计算为 true 或者 false。

 

foreach 语句用于循环遍历数组。

每进行一次循环,当前数组元素的值就会被赋值给 value 变量(数组指针会逐一地移动) - 以此类推

*/

ereg_replace -- 正则表达式替换(php教程 3, php 4, php 5)

string ereg_replace ( string pattern, string replacement, string string )

本函数在 string 中扫描与 pattern 匹配的部分,并将其替换为 replacement。

返回替换后的字符串。(如果没有可供替换的匹配项则会返回原字符串。)


<?php
$string = "this is a test";
echo str_replace(" is", " was", $string);
echo ereg_replace("( )is", "1was", $string);
echo ereg_replace("(( )is)", "2was", $string);
?>

输出如下:
that was a test
that was a test
that was a test


<td class='title'>热卖oou限量版双人浴巾</td>
整个替换为空,还是将
<td class='title'>热卖oou限量版双人浴巾</td>
替换成
<td class='title'></td>

第一种

echo preg_replace('/(<td[^<>]+title[^<>]+>)[^<>]*(</td>)/i', '', $html);


第二种:

echo preg_replace('/(<td[^<>]+title[^<>]+>)[^<>]*(</td>)/i', '$1$2', $html);


首先这个正则表达式匹配 类似格式:
<td*title*>*</td>,这里每个星号*代表的是多个任意字符,相当于每个*对应正则里的[^<>]+,为了匹配准确,这里任意字符里不包含'<','>'.
对于第二种里的替换字符串$1和$2,分别为正则表达式里对应的两组()内匹配的值.这种形式正则里叫 子模式匹配.$1和$2叫反向匹配的结果.

这里$1匹配的结果是<td class='title'>,$2匹配的结果是</td>

删除记录是php与数据库常见的基本操作,下面我们主要是介绍php mysql删除数据库中的一条记录方法。
 代码如下 复制代码
echo '<a href="www.111cn.net.php?id=你要删除记录"onclick="网页特效:return   confirm("是否真的要删除当前记录?")">删除</a>'


当然你也可以利用下面方法实例删除

 代码如下 复制代码
<script language='javascript'>
function del(id){
    if (false === confirm('是否真的要删除当前记录?') )return;
    location.href = 'delete.php?id=' + id;
}
</script>

这里只要修改你的数据库教程连接用户名密码,与数据库名称以及数据表名就可以了。

<?php
    $conn = mysql教程_connect("localhost","root","8588027");
    mysql_select_db("test");
    $exec="delete from content where id='{$_get['id']}'";
    mysql_query($exec);
    mysql_close();
    echo "<script language='javascript'>location.href='code.php';</script>";
?>

这里主要是rsort krsort函数,他是对键名进行反序排序了,如果要数组元素值排序用sort就成了,array_multisort这个是对多维数组排序。
*/
$array = array(array('www.111cn.net',6,8),array(1,2,6));
print_r($array);
/*
array
(
    [0] => array
        (
            [0] => www.111cn.net
            [1] => 6
            [2] => 8
        )

    [1] => array
        (
            [0] => 1
            [1] => 2
            [2] => 6
        )

)
*/
array_multisort($array) ;//对二维数组进行排序
print_r($array);
/*
array
(
    [0] => array
        (
            [0] => www.111cn.net
            [1] => 6
            [2] => 8
        )

    [1] => array
        (
            [0] => 1
            [1] => 2
            [2] => 6
        )

)
*/

$ar = array('111cn.net',2,3,5);
rsort($ar);
print_r($ar);
/*
array
(
    [0] => 5
    [1] => 3
    [2] => 2
    [3] => 111cn.net
)
*/

krsort($ar);
print_r($ar);
/*
array
(
    [3] => 111cn.net
    [2] => 2
    [1] => 3
    [0] => 5
)*/

 代码如下 复制代码
int preg_match ( string pattern, string subject [, array matches [, int flags]]) 

在 subject 字符串中搜索与 pattern 给出的正则表达式相匹配的内容。

如果提供了 matches,则其会被搜索的结果所填充。$matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推。

 代码如下 复制代码

 

$string = 'cgjp123@163.com.cn';
$pattren = "/^[^_][w]+@[w.]+[w]+[^_]$/";
if(preg_match($pattren,$string,$matches)){
 echo '<pre>';
 print_r($matches);
 echo '</pre>';
}else{
 echo 'wrong email';
}

php中检查email完整性

 代码如下 复制代码
<?php
if (eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]?$",?$email)) {
echo "您的 e-mail 通过初步检查www.111cn.net";
}
?>

^([a-za-z0-9_-]+)@([a-za-z0-9_-]+)(.[a-za-z0-9_-])$/
就是记录邮件地址的用户名,和邮件地址的服务器地址(形式为username@server.com之类的),在后面如果想要读取记录下来的字符串,只是需要用”转义符+记录的次序”来读取。比如”1〃就相当于第一个”[a-za-z0-9_-]+”,”2〃相当于第二个([a-za-z0-9_-]+),”3〃就是第三个(.[a-za-z0-9_-])。但是在php中,”"是一个特殊的字符,需要转义,所以”"到了php的表达式中就应该写成”1〃。
其他特殊符号:
“|”:或符号”|”和php里面的或一样,不过是一个”|”,而不是php的两个”||”!意思就是可以是某个字符或者另一个字符串,比如”/abcd|dcba/”可能匹配”abcd”或者”dcba”。

[!--infotagslink--]

相关文章

  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • php 中file_get_contents超时问题的解决方法

    file_get_contents超时我知道最多的原因就是你机器访问远程机器过慢,导致php脚本超时了,但也有其它很多原因,下面我来总结file_get_contents超时问题的解决方法总结。...2016-11-25
  • Python 图片转数组,二进制互转操作

    这篇文章主要介绍了Python 图片转数组,二进制互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • php抓取网站图片并保存的实现方法

    php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
  • HTTP 408错误是什么 HTTP 408错误解决方法

    相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
  • Android子控件超出父控件的范围显示出来方法

    下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
  • ps把文字背景变透明的操作方法

    ps软件是现在非常受大家喜欢的一款软件,有着非常不错的使用功能。这次文章就给大家介绍下ps把文字背景变透明的操作方法,喜欢的一起来看看。 1、使用Photoshop软件...2017-07-06
  • php数组操作 键名比较 差集 交集赋值

    本文章提供在量的数据中级操作实例有如对键名比较计算数组的差集 计算差集 给指定数组中插入一个元素 反转数组 交集赋值新的数组实例。 //定义回调函数 funct...2016-11-25
  • C#二维数组基本用法实例

    这篇文章主要介绍了C#二维数组基本用法,以实例形式分析了C#中二维数组的定义、初始化、遍历及打印等用法,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • Mysql select语句设置默认值的方法

    1.在没有设置默认值的情况下: 复制代码 代码如下:SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id 结果:...2014-05-31
  • intellij idea快速查看当前类中的所有方法(推荐)

    这篇文章主要介绍了intellij idea快速查看当前类中的所有方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02
  • C#数组的常用操作方法小结

    Array数组在C#中同样是最基本的数据结构,下面为大家C#数组的常用操作方法小结,皆为细小的代码段,欢迎收看收藏...2020-06-25
  • php curl模拟post请求和提交多维数组的示例代码

    下面一段代码给大家介绍php curl模拟post请求的示例代码,具体代码如下: <&#63;php$uri = "http://www.cnblogs.com/test.php";//这里换成自己的服务器的地址// 参数数组$data = array ( 'name' => 'tanteng'// 'passwor...2015-11-24
  • js导出table数据到excel即导出为EXCEL文档的方法

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht...2013-10-13
  • mysql 批量更新与批量更新多条记录的不同值实现方法

    批量更新mysql更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码 代码如下:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即...2013-10-04
  • ps怎么制作倒影 ps设计倒影的方法

    ps软件是一款非常不错的图片处理软件,有着非常不错的使用效果。这次文章要给大家介绍的是ps怎么制作倒影,一起来看看设计倒影的方法。 用ps怎么做倒影最终效果&#819...2017-07-06
  • js基础知识(公有方法、私有方法、特权方法)

    本文涉及的主题虽然很基础,在许多人看来属于小伎俩,但在JavaScript基础知识中属于一个综合性的话题。这里会涉及到对象属性的封装、原型、构造函数、闭包以及立即执行表达式等知识。公有方法 公有方法就是能被外部访问...2015-11-08
  • 安卓手机wifi打不开修复教程,安卓手机wifi打不开解决方法

    手机wifi打不开?让小编来告诉你如何解决。还不知道的朋友快来看看。 手机wifi是现在生活中最常用的手机功能,但是遇到手机wifi打不开的情况该怎么办呢?如果手机wifi...2016-12-21
  • PHP 验证码不显示只有一个小红叉的解决方法

    最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误; (1)修改步骤如下,原因如下,原因是apache权限没开, (2)点击打开php.int., 搜索extension=ph...2013-10-04
  • c#中分割字符串的几种方法

    单个字符分割 string s="abcdeabcdeabcde"; string[] sArray=s.Split('c'); foreach(string i in sArray) Console.WriteLine(i.ToString()); 输出下面的结果: ab de...2020-06-25