• php论坛学习的一个遍历的问题(学习) 简单


    <?php
    
    $str = "{黄色}{绿色}{红色}@{大号}{中号}{小号}@{男款}{女款}{儿童}";
    $array1 = explode("@", $str);
    $array = array();
    foreach ($array1 as $row)
    {
            $_array = array();
            //preg_match_all('/\{(.*?)\}/', $row, $_array);
            //preg_match_all('/\{(.*?)\}/', $row, $_array);
            preg_match_all('/{(.*?)}/',$row, $_array);
            //重复0次或者一次
            //前面是{字符,
            //.* 表示匹配任意数量的字符 
            //?重复0次或者一次
            //  /{(.*?)}/ 以‘{’开始中间以任意数量的字符出现一次或0次, 以'}'结束
            //var_dump($_array);
            //echo "<BR>===============<BR>";
            $array[] = $_array[1];
            $_array = null;
    }
    
    var_dump($array);
    echo "<BR><BR><BR>";
    
    function my($array)
    {
            //$array是数组   count($array) = 3;
            return my2($array, count($array));
    }
     
    function my2($array, $count, $start = 0)
    {
            static $_array = array();
            static $_row = array();
             
            //$array[$start] //相当于循环一数属性
            //循环第一数属性 
            //$array[0] = [0]=> string(6) "黄色" [1]=> string(6) "绿色" [2]=> string(6) "红色"
            //$array[1] = [0]=> string(6) "大号" [1]=> string(6) "中号" [2]=> string(6) "小号"
            //$array[2] = [0]=> string(6) "男款" [1]=> string(6) "女款" [2]=> string(6) "儿童" 
            var_dump($_row);
            echo "<BR><BR>====================================<BR>"; 
            foreach ($array[$start] as $row)
            {
                    $_row[$start] = $row;     //$row[0] = ‘黄芭’   $row[1] = '中号';  $row[2]='儿童'               
                    if ($start == $count - 1) //已经到最后一组了
                    {
                            $_array[] = $_row; //直接加上去  //放入到$_array数组中
                    } else {
    
                            my2($array, $count, $start + 1); //开始读取第二组属性 开始读取第三组属性
                    }
            }
            return $_array;
    }
    
    
    $array = my($array);
    foreach($array as $buf){
         var_dump($buf);
         echo "<BR><BR><BR>";
    
    }
    //print_r(my($array));
    ?>
    

      

  • 相关阅读:
    Django关于StreamingHttpResponse与FileResponse响应文件或视频的下载请求
    APScheduler可能遇到的问题
    django中model聚合使用
    Java 递归判断迷宫问题是否有路
    direct path read/write (直接路径读/写)
    DRM 简介
    SQL Server2008表名中含“.”号处理方法
    Java学习之:JDK动态代理与CGLIB动态代理
    强大易用!新一代爬虫利器 Playwright
    为什么cudaMalloc()参数是二级指针
  • 原文地址:https://www.cnblogs.com/xiangxiaodong/p/2769902.html
Copyright © 2020-2023  润新知