zoukankan      html  css  js  c++  java
  • php正则&&数组

    <?php
    正则表达式
    斜杠代表定界符 /^$/
    $str = "abcde123fg456h";
    $reg = "/d/";
    preg_replace($reg,"#",$str);//将字符串str按照正则表达式reg替换
    var_dump(preg_replace($reg,"#",$str));


    $str="a1cd3fg6h";
    $reg="/d/";
    var_dump(preg_split($reg,$str))//将字符串按照正则表达式拆分


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


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

    数组
    $arr=array(1,2,3,4,5);//1.定义数组方式
    var_dump($arr);


    2.赋值定义
    $arr1[0]=5;
    $arr1[1]=6;
    $arr1[2]=10;
    var_dump($arr1);


    数组分类
    1.索引数组
    $arr=array(1,2,3,4,5);
    echo $arr[2];

    2.关联数组
    $arr=array("one"=>5,"two"=>10);
    echo $arr["two"];
    var_dump($arr["two"]);

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

    遍历数组
    $arr=array("aa","bb",5,"cc",10);

    1.for循环遍历,不能遍历关联数组,遍历索引数组
    for($i=0;$i<count($arr);$i++)
    {
    echo $arr[$i]."<br />";}



    2.foreach遍历 可以遍历关联数组
    foreach(int a in $arr) c#中
    $arr=array("a"=>10,"b"=>20,"c"=>"hello","d"=>30);
    foreach($arr as $value)
    {

    echo $value."<br />";

    }

    foreach($arr as $key=>$value)
    {
    echo $key."--".$value."<br />";}   //遍历key和value

    3.each()函数
    $arr=array("a"=>"hello","b"=>"lily","c"=>"love you");
    var_dump(each($arr));//返回数组里面元素的key和value,第一次取第一个,第二次取第二个……每次取完值向下走一个取下一个值

    var_dump(each($arr));
    var_dump(each($arr));


    4.list()函数 很特别的一个函数,函数在左边
    $arr=array(10,20,"hello",30);
    list($a,$b,$c,$d)=$arr;//将数组里面的值分配给list函数里的变量,只能遍历索引数组
    echo $a."<br>";
    echo $b."<br>";
    echo $c."<br>";
    echo $d."<br>";


    5.each()和list()结合起来遍历数组
    $arr=array("a"=>"hello","b"=>"lily","c"=>"love you");

    while(list($key,$value)=each($arr))
    {
    echo "{$key}--{$value}<br>";
    }

    6.指针
    $arr=array("a"=>"hello","b"=>"lily","c"=>"love you");
    var_dump(current($arr));//取当前指针指向位置的value值
    next($arr);//将指针向下调一个
    var_dump(next($arr));
    echo key($arr);//取当前指针指向位置的key
    var_dump(key($arr));
    prev($arr);//将指针向上调一个
    var_dump(prev($arr));
    end($arr);//将指针调向最后一个
    var_dump(end($arr));
    reset($arr);//将指针重置
    var_dump(reset($arr));


    $arr=array("a"=>"hello","b"=>"lily","c"=>"love you");
    while(next($arr))
    {
    echo key($arr)."--".current($arr)."<br />";
    }  //next是从下一个也就是索引为1的开始,所以a"=>"hello"就会被漏掉,所以用do{}while(),先执行再条件


    do{ echo key($arr)."--".current($arr)."<br />";}while(next($arr))

    $_GET $_POST 存储页面传过来的值,form表单中method="POST"

    var_dump($_SERVER);
    var_dump($_POST["uid"]);//存储页面传递过来的变量值


    var_dump($_GET[]);
    $arr=array("aa","bb",5,5,"cc",10,10);
    常用函数
    var_dump(in_array("aa",$arr));//判断数组里面是否存在某个值


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


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


    $attr=var_dump(array_unique($arr));//去重

    unset($arr[0]); //删除数组中的元素


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

    $attr=array_unique($arr);
    var_dump(array_values($attr)); //重新索引


    $attr = array(1,2,3,4);
    $arr=array("aa","bb",5,5,"cc",10,10);
    array_merge(shuzu1,shuzu2);//将多个数组合并成一个数组


    array_push($arr,"dd"); //给数组追加一个元素

    var_dump($arr);



    二维数组
    $arr=array(
    array(1,2,3),
    array(4,5,6),
    array(7,8,9));
    var_dump($arr);


    例题 将二维数组以下拉列表的形式显示
    $attr=array(
     array('001','汉族'),
     array('002','苗族'),
       array('003','回族'),
       array('004','维吾尔族'),

     );
    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%',heght='400', 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>";

    ?>

    <form action="zhengze.php" method="post">
    <input type="text" name="uid"/>
    <input type="submit",value="提交"/>

    </form>
    <?php
    var_dump($_POST["uid"]);
    ?>

  • 相关阅读:
    SDUT 1488 数据结构实验:连通分量个数
    SDUT 3364 数据结构实验之图论八:欧拉回路
    SDUT 2413 n a^o7 !
    SDUT 3363 数据结构实验之图论七:驴友计划
    SDUT 3362 数据结构实验之图论六:村村通公路
    SDUT 2139 数据结构实验之图论五:从起始点到目标点的最短步数(BFS)
    POJ 3278 Catch That Cow
    SDUT 3361 数据结构实验之图论四:迷宫探索
    SDUT 2107 数据结构实验之图论二:图的深度遍历
    SDUT 2142 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
  • 原文地址:https://www.cnblogs.com/nannan-0305/p/5433178.html
Copyright © 2011-2022 走看看