zoukankan      html  css  js  c++  java
  • PHP正则表达式;数组:for()遍历、 foreach ()遍历、each()list()组合遍历;指针遍历

     

    正则表达式:    

    1.定界符号         任何字符,一般用  //    

    2. 模式修正符i         写在定界符外面后面,可不区分大小写    

    3.preg_replace($reg,"#",$str)         将字符串中满足正则表达式的字符替换为#    

    4. preg_split($reg,$str)         将字符串分割    

    5.preg_match($reg,$str,$arr)         匹配第一个,成功返回true,匹配出来的的字符串放到数组$arr里    

    6.preg_match_all($reg,$str,$arr)         匹配所有    

    7.preg_grep($reg,$arr)   匹配数组里面满足的返回数组

    例:

    $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);

    数组:1:索引数组 2:遍历数组

    a.数组定义    

    $array = array(1,2,3,4,5); 索引数组    

    $array = array(1=>"aa","bb"=>2); 关联数组    

    5.4版本后可以像其他语言一样声明数组

    b.取值  

    $array[0]    

    $array["bb"]

    c.预定义数组    

    global         声明为全局变量    

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

    $_SERVER         服务器和执行环境信息    

    $_ENV         环境变量    

    $_GET         HTTP GET 变量    

    $_POST         HTTP POST 变量    

    $_REQUEST         HTTP Request 变量    

    $_FILES         HTTP 文件上传变量    

    $_SESSION         Session 变量    

    $_COOKIE         HTTP Cookies

    d.其它常用函数    

    in_array()         检查数组中是否存在某值    

    array_reverse()         将数组中的元素顺序翻转,创建新的数组并返回    

    count()         计算数组中的元素数目或对象中的属性个数    

    array_unique()         删除数组中重复的值并返回新的数组    

    unset($arr[0])         删除数组的某个值    

    array_values($arr)         重新索引    

    array_merge()         合并数组    

    array_push()         在数组尾添加元素

    1、索引数组

    例:$attr=array(1,2,3,4,5);   

    print_r ($attr);

    2、关联数组:取值用key(code)  echo(attr["code"]);

    例:$attr=array("code"=>101,"name"=>"张三","sex"=>"男");

    print_r($attr);

    3、遍历数组:最主要、最常见的是foreach遍历,因为索引和关联数组都可以遍历

    ①for循环遍历:适用于遍历索引数组,关联数组不能遍历

    例:

    $attr = array("aa","bb","cc","dd");

    for($i=0;$i<count($attr);$i++)

    {

      echo $attr[$i]."<br>";

    }

    ②foreach遍历:索引和关联都可以遍历   ★★★★

    例1:

    $attr = array("aa","bb","cc","dd");

    foreach($attr as $v)      //遍历数组$attr,把每个值value给定义的变量$v,$v就是数组里的每一个元素

    {

      echo $v."<br>";

    }

    例2:

            $k           $v

    $attr=array("code"=>101,"name"="张三",sex=>"男",nation"=>"汉族);

    foreach($attr as $k=>$v)   //把数组的名称(code)赋值给$k,value给$v(101)

    {

      echo $k."随便给一个连接符号".$v."<br>";

    }

    效果如下:

    ③使用each()和list()结合遍历:取数组里面当前指针指向的位置,默认指针在第一个,用一下指针走到下一个

    例:

    1.$$attr=array("ee","aa","bb","cc","dd");

    var_dump(each($attr));   //取数组里面当前指针指向的元素

    var_dump(each($attr)); var_dump(each($attr));

    效果如下:

    2.

    $$attr=array("ee","aa","bb","cc","dd");

    list($a,$b,$c,$d)=$attr;  //写在等号左边的,将数组里面的元素交给一组变量,数组必须是索引数组  $a就等于"aa" $b等于"bb"

    例:

    while(list($k,$v) = each($attr))

    {

      echo "{$k}-{$v}<br>";

    }

    效果图:

    ④使用指针遍历

    1.current($attr);    取当前指针指向的元素的值

    2.key($attr);     区当前指针指向的元素的key(索引)

    3.next($attr);    将指针向后调一个

    4.prev($attr);    将指针向前调一个

    5.end($attr);      将指针调到最后

    6.reset($attr); 将指针重置

    例1:

    $attr=array("aa","bb","cc","dd","ee");

    while(next($attr))

    {

       echo key($attr);

         echo current($attr);

    }

    效果图如下:

    例2:

    do{

      echo current($attr);

      echo key($attr);

    }

    while(next($attr))

    效果图如下:

    例1:

    $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>";

    例2:

    <body>

    <?php

    $attr = array(

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

      array("n002","回族"),

      array("n003","满族"),

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

    ); 

    ?>

    <select>     <option>民族</option>     <?php         foreach($attr as $v)         {             echo "<option> {$v[1]}</option>";            }     ?> </select>

    </body>

  • 相关阅读:
    Python基础之初始编码
    Excel图表编辑---表格移动,样式修改
    Python基础之Python的变量、常量
    刷题62. Unique Paths
    刷题56. Merge Intervals
    刷题55. Jump Game
    刷题53. Maximum Subarray
    刷题49. Group Anagrams
    刷题48. Rotate Image
    刷题46. Permutations
  • 原文地址:https://www.cnblogs.com/zxl89/p/6028388.html
Copyright © 2011-2022 走看看