• PHP 正则表达式 数组


    正则表达式
     /斜杠代表定界符     ^代表匹配开头   $代表匹配结尾   

    preg_replace()      替换

    1 $str = "abcde123fg455h";
    2 $reg = "/d/";        //d表示匹配数字
    3 echo preg_replace($reg,"#",$str);  //将字符串str按照正则表达式reg替换为#

    preg_split()        拆分

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

    preg_match()    匹配字符串中满足正则表达式中第一个数据

    1 $str = "ab5cde3fg5h";
    2 $reg = "/d/";
    3 $arr=array();
    4 preg_match($reg,$str,$arr);   //匹配字符串中满足正则表达式中第一个数据
    5 var_dump($arr);

    preg_match_all();   匹配字符串中满足正则表达式的所有数据

    1 $str = "ab5cde3fg5h";
    2 $reg = "/d/"; 
    3 $arr=array();
    4 preg_match_all($reg,$str,$arr);  //匹配字符串中满足正则表达式的所有数据
    5 var_dump($arr);

    数组

    定义

    1 //定义数组方式1
    2 $arr =array(1,2,3,4,5);
    3 var_dump($arr);
    //定义方式2--赋值定义
    $arr1[0] = 5;
    $arr1[1] = 6;
    var_dump($arr1);

    数组的分类

    1 //1.索引数组
    2 $arr = array(1,2,3,4,5);
    3 echo $arr[0];
    1 //2.关联数组
    2 $arr = array("one"=>5,"two"=>10);
    3 echo $arr["two"];

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

    数组的遍历

    1.for循环遍历

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

    2.foreach遍历

    1 //foreach 遍历 可以遍历关联数组
    2 $arr = array("a"=>10,"b"=>20,"c"=>"hello","d"=>30);
    3 foreach($arr as $value)  //只取value值
    4 {
    5     echo $value."<br>";
    6 }
    1 $arr = array("a"=>10,"b"=>20,"c"=>"hello","d"=>30);
    2 foreach($arr as $key=>$value)  //取key值和value值
    3 {
    4     echo $key."--".$value."<br>";
    5 }

    3.each() 函数

    //each() 函数
    $arr = array("a"=>10,"b"=>20,"c"=>"hello","d"=>30);
    var_dump (each($arr)); //返回数组里面元素的key和value
    var_dump (each($arr));  //每次取完值向下走一个指向下一个值

    4.list() 函数

    1 //list()函数
    2 $arr = array("a"=>10,"b"=>20,"c"=>"hello","d"=>30);
    3 list($a,$b,$c,$d)=$arr;  //将数组里面的值分配给list()函数里面的变量
    4 echo $a;

    5.each和list结合起来遍历数组

    //each和list结合起来遍历数组
    $arr = array("a"=>10,"b"=>20,"c"=>"hello","d"=>30);
    while(list($key,$value)=each($arr))
    {
        echo "{$key}--{$value}<br>";
    }

    6.指针

    1 //指针
    2 $arr = array("aa","bb",5,5,"cc",10,10);
    3 current($arr); //取当前指针指向位置的value值
    4 key($arr); //取当前指针指向位置的key
    5 next($arr); //将指针向下调
    6 prev($arr); //将指针向上调
    7 end($arr); //将指针调向最后一个
    8 reset($arr);//将指针重置,指向第一个

    用指针遍历数组

    1 $arr = array("aa","bb",5,5,"cc",10,10);
    2 do{
    3     echo key($arr)."--".current($arr)."<br>";
    4 }
    5 while(next($arr))

    $_GET $_POST 存储页面传过来的值

     1 //常用函数
     2 var_dump(in_array("ab",$arr)); //判断数组里面是否存在某个值
     3 var_dump(array_reverse($arr)); //翻转数组
     4 echo count($arr); //返回数组元素的个数
     5 $attr = array_unique($arr); //去重
     6 unset($attr[0]); //删除数组中的元素
     7 var_dump(array_values($attr)); //重新索引
     8 $attr = array(1,2,3,4);
     9 var_dump(array_merge($arr,$attr)); //合并数组
    10 array_push($arr,"dd"); //给数组追加一个元素
    11 var_dump($arr);

    二位数组

    1 $attr = array(
    2     array(1,2,3),
    3     array(4,5,6),
    4     array(7,8,9)
    5 );
    6 var_dump($attr);

    例:将数组中的内容以下拉列表的形式展现

     1 $attr = array(
     2     array('n001','汉族'),
     3     array('n002','苗族'),
     4     array('n003','回族'),
     5     array('n004','维吾尔族')
     6 );
     7 echo "<select>";
     8 foreach($attr as $value)
     9 {
    10     echo "<option value='{$value[0]}'>{$value[1]}</option>";
    11 }
    12 echo "</select>";

    例:将二维数组中的内容显示为一张表

     1 $attr = array(
     2     array('p001','张三','男','汉族'),
     3     array('p002','李四','女','回族'),
     4     array('p003','王五','男','汉族'),
     5     array('p004','赵六','女','苗族')
     6 );
     7 
     8 echo "<table width='100%' border='1' cellpadding='0' cellspacing='0'>";
     9 
    10 echo "<tr><td>代号</td><td>姓名</td><td>性别</td><td>民族</td></tr>";
    11 
    12 for($i=0;$i<count($attr);$i++)
    13 {
    14     echo "<tr><td>{$attr[$i][0]}</td><td>{$attr[$i][1]}</td><td>{$attr[$i][2]}</td><td>{$attr[$i][3]}</td></tr>";
    15 }
    16 
    17 echo "</table>";
  • 相关阅读:
    小组最终答辩
    机器学习的安全隐私
    关于Distillation as a Defense to Adversarial Perturbations against Deep Neural Networks的理解
    第十六讲-对抗样本与对抗训练3
    对抗样本机器学习_Note1_机器学习
    对抗样本机器学习_cleverhans_FGSM/JSMA
    实验四:Tensorflow实现了四个对抗图像制作算法--readme
    实验一拓展文献阅读—反向传播计算图上的微积分
    tf.placeholder 与 tf.Variable
    Robust Adversarial Examples_鲁棒的对抗样本
  • 原文地址:https://www.cnblogs.com/zk0533/p/5431299.html
Copyright © 2020-2023  润新知