zoukankan      html  css  js  c++  java
  • PHP数组(数组正则表达式、数组、预定义数组)

    正则表达式

    1.替换

    $s = "hello5world";
    $s = preg_replace("/d/","#",$s);
    echo $s;
    //输出结果为hello#world,数字被替换成了#。

    //第一个数字是被替换的内容,"/d/"表示正则表达式的数字。
    //第二个参数是要用什么来替换。
    //第三个参数是要操作的数组。

    2.拆分

    //$s = "hello5world";
    //$attr = preg_split("/d/",$s); //按照正则表达式拆分
    //var_dump($arr);
    //第一个参数是按照什么拆分,第二个参数是拆分哪个字符串。

    3.匹配

    //$s = "he8llo5wor6ld";
    //$arr = array();
    //preg_match("/d/",$s,$arr); //匹配满足正则的第一个字符串,在这匹配出的是8(8)是字符串中的第一个数字。
    //preg_match_all("/d/",$s,$arr); //匹配所有满足正则的字符串,匹配出的是所有的数字(8、5、6)。
    //第一个参数是按照什么匹配
    //第二个参数是匹配的数组
    //第三个参数是另一个数组,也可以是空的数组,匹配完以后的数组放在此数组中。

    数组

    1.数组定义

    //$attr = array();//定义一个空的数组
    //$attr = array(1,2,3,4);//定义一个有值的数组

    2.赋值定义

    /*$attr[0]="aa";
    $attr[1]="bb";
    echo $attr[1];
    */

    3.数组分类

    (1)索引数组

    /*$attr = array(1,2,3,4,5);
    print_r($attr);

    (2)关联数组

    //$attr = array("code"=>101,"name"=>"张三","sex"=>"男");//code=>101表示赋值.code可以称为key,101称为name。
    //print_r($attr);
    //echo $attr["name"];

    4.遍历数组

    (1)for循环遍历,只能遍历索引数组

    //$attr = array("aa","bb","cc","dd");
    
    /*for($i = 0;$i<count($attr);$i++)
    {
      echo $attr[$i]."<br>";
    }
    */

    (2)foreach遍历,关联和索引都可以遍历.

    //$attr = array("aa","bb","cc","dd");
    /*foreach($attr as $v)
    {
      echo $v."<br>";
    }*/
    //只能遍历出值
    /*foreach($attr as $k=>$v) {   echo $k."--".$v."<br>"; }*/
    //可以遍历出key和value

    $attr = array(1,2,3,4,5);
    foreach($attr as $k=>$v)
    {
      if($v == 3)
      {
        unset($attr[$k]);//删除一个元素或者删除一个变量,不能直接unset($v),因为遍历时是把数组里面的数字3复制给$v的,删除的是复制的,而不是数组里面的。
      }
    }
    $attr = array_values($attr);//重新索引,删除数组元素里面的3以后,索引值变为0,1,3,4.重新索引后变为0,1,2,3。
    var_dump($attr);
    //在其它语言中,使用foreach遍历数组里面的元素时,不能在foreach里面删除或者添加元素。只有php里面可以。

    (3)使用each()和list()结合遍历

    //var_dump(each($attr));//取数组里面当前指针指向的元素.
    
    //list($a,$b,$c,$d)=$attr;//写在等号左边的将数组里面的元素交给一组变量,数组必须是索引数组。
    //echo $c;
    
    /*list($k,$v) = each($attr);
    echo $k;
    echo $v;*/
    
    /*while(list($k,$v) = each($attr));
    {
        echo "{$k}--{$v}<br>";
    }*/

    (4)使用指针遍历

    //var_dump(current($attr));//取当前指针指向的元素的值
    //key($attr);//取当前指针指向的元素的key
    //next($attr);//将指针向后调一个
    //prev($attr);//将指针向前调一个
    //end($attr);//将指针向指向最后
    //reset($attr);//将指针重置
    
    /*var_dump(next($attr));
    var_dump(next($attr));
    var_dump(next($attr));
    var_dump(next($attr));*/
    
    /*while(next($attr))
    {
        echo current($attr);
        echo key($attr);
    }*/
    
    /*do
    {
        echo current($attr);
        echo key($attr);
    }
    while(next($attr))
    */

     

    预定义数组

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

    var_dump$GLOBALS()//$GLOBALS是一个数组,是系统自定义的,无法修改的,必须大写。代表全局变量的数组。

    2.$_SERVER是服务器的信息

    3.$_ENV代表环境变量

    4.$_GET代表的是用户用_GET方式传递的数据

    <body>
        <form action="test.php" method="get">
           <input type="text" name="uid" />    
           <input type="text" name="pwd" /> 
         <input type="submit" value="提交" />   
        </form>
    </body>
    //输入数据提交以后会显示提交的数据。var_dump($_get)可以获取提交的数据。

    5.$_POST代表的是用户用post方式传递的数据

    method的方式和获取的方式要对应。var_dump($_POST)

    6.$_REQUEST也可以获取用户传递的数据。

    $_REQUEST可以取GET方式传递的数据,也可以取POST方式传递的数据。但是一般不要用$_REQUEST,相对的不安全。

    7.$_FILES;是关于表单提交文件的。

    <form action="text.php" method="post" enctype="multipart/form-date">//提交文件时需要写上enctype属性,提交方式要用post

    8.$_SESSION

      会话控制,保存用户登录信息的机制。如果登录上一个页面以后一定的时间没有操作,刷新页面后会要求重新登录,这就是_SESSION的效果。它有一个固定的时间,过后登录信息会清除。_SESSION存储登录信息存储在服务器上。_SESSION的安全性会更好。

    9.$_COOKIE

      会话控制,保存用户登录信息的机制。如果登录上一个页面以后一定的时间没有操作,刷新页面后不需要重新登录,这就是_COOKIE的效果。_COOKIE存储登录信息存储在硬盘上。_COOKIE的安全性不如_SESSION。

     

    其它常用函数

    1.in_array( , );判断某一个值是不是在这个数组里面存在,括号里面有两个参数,第一个参数是是否存在的值,第二个参数是检查的数组。

    2.array_reverse();翻转函数,括号里面写要翻转的数组。

    3.array_unique();删除重复值,去重。

    4.unset($attr[0]);删除数组里的某个值。

    5.array_values();重新索引。一般和删除一起使用。

    6.array_merge();合并数组,括号里面填写n个要合并的数组。

    7.array_push();往数组里面添加一个值,添加位置在末尾。

     

     

    数组例子

    //取数组里面的内容做下拉列表
    方法1:
    $attr = array(//定义一个数组,用二维数组。
        array("n001","汉族"),
        array("n002","回族"),
        array("n003","满族"),
        array("n004","维吾尔族")
    );
    <select>
    <option>所有</option>
    <?php
    
    /*foreach($attr as $v)
    {
      echo "<option>{$v[1]}</option>";
    }*/
    ?>
    </select>

    方法2:

    $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:二维数组遍历到表格

    $attr = array(
        array("code","name","民族","年龄"),
        array("001","张三","汉族","23"),
        array("002","李四","回族","34"),
        array("003","王五","维吾尔族","53"),
        array("004","宋六","壮族","26")
    );
    echo "<table border='1px'>";
    for($i=0;$i<count($attr);$i++)
    {
        echo "<tr>";
        for($j=0;$j<count($attr[$i]);$j++)
        {
            echo "<td>".$attr[$i][$j]."</td>";
        }
        echo "</tr>";
    }
    echo "</table>";
  • 相关阅读:
    获取PeopleEditor控件中的用户或用户组
    关于PeopleEditor控件的SelectionSet属性
    SharePoint上禁用列表编辑(上)
    SharePoint上禁用列表编辑(下)
    Windows 7 证书导入工具
    一段奇怪的代码,可以用来检测杀毒软件
    在MyEclipse看到的消息,这应该是不能访问的真正原因了。
    Windows 7 导入证书命令
    Windows Server 2008 R2 Standard DELL OEM
    Netbeans 语言设置
  • 原文地址:https://www.cnblogs.com/Strive-count/p/5990616.html
Copyright © 2011-2022 走看看