加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_扬州站长网 (https://www.0514zz.com/)- 媒体智能、语音技术、云计算、低代码、开发者工具!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP数组foreach遍历输出例子详情

发布时间:2023-11-08 10:32:03 所属栏目:PHP教程 来源:转载
导读:

  简单的一个php数组函数,之前没这个需要一直都不知道有这么一个函数,擦汗...



  php数组逆序输出代码



   代码如下



  1 foreach(array_reverse($array) AS

  简单的一个php数组函数,之前没这个需要一直都不知道有这么一个函数,擦汗...
 
  php数组逆序输出代码
 
   代码如下
 
  1 foreach(array_reverse($array) AS $key=>$value){
 
  echo $value.'
 
  ';
 
  }
 
  array_reverse
 
  (PHP 4, PHP 5)
 
  array_reverse — 返回一个单元顺序相反的数组
 
  说明
 
  array array_reverse ( array $array [, bool $preserve_keys ] )
 
  array_reverse() 接受数组 array 作为输入并返回一个单元为相反顺序的新数组,如果 preserve_keys 为 TRUE 则保留原来的键名。
 
  Example #1 array_reverse() 例子
 
   代码如下
 
  1
 
  $input  = array("php", 4.0, array("green", "red"));
 
  $result = array_reverse($input);
 
  $result_keyed = array_reverse($input, TRUE);
 
  ?>
 
  这将使 $result 和 $result_keyed 具有相同的单元,但是注意键名的区别。$result 和 $result_keyed 的打印输出显示分别为:
 
  Array
 
  (
 
      [0] => Array
 
          (
 
              [0] => green
 
              [1] => red
 
          )
 
      [1] => 4
 
      [2] => php
 
  )
 
  Array
 
  (
 
      [2] => Array
 
          (
 
              [0] => green
 
              [1] => red
 
          )
 
      [1] => 4
 
      [0] => php
 
  )
 
  例子,在PHP模板引擎中
 
  模板文件:
 
   代码如下
 
  1

  {$article_title}
 

    -- by {$author}
 
  2
 
  3
 
  foreach test:
 
  4 {foreach ( from=url key=b item=c )}
 
   {==c}
 
  {/foreach}
 
  5
 
  6
 
  解析引擎:
 
   代码如下
 
  1 // var
 
    $pattern_var = "/{$left_tag}\\$([\w\d]+){$right_tag}/";
 
    $replace_var = 'var_tpl_arr["$1"];?>';

    if (preg_match($pattern_var, $content)) {
 
     $content = preg_replace($pattern_var, $replace_var, $content);
 
    }

    // foreach
 
    preg_match_all("/{$left_tag}foreach\s+([^{]+?){$right_tag}/is", $content, $match_foreach);
 
    if (isset($match_foreach[1]) && is_array($match_foreach)) {
 
     foreach($match_foreach[1] as $match_key => $match_value) {
 
      $split_foreachs = array_filter(preg_split('/\s+/is', $match_value));
 
      $new_foreach_tag = array();
 
      foreach($split_foreachs as $split_foreach) {
 
       $split = explode("=", $split_foreach);
 
       if (count($split == 2)) {
 
        if(in_array($split[0], array("from","item","key"))) {
 
  //过滤标签 不存在过滤
 
         $new_foreach_tag[$split[0]] = $split[1];
 
        }
 
       }
 
      }
 
      $from = $key = $item = '';
 
      extract($new_foreach_tag);
 
      $key = ($key) ? '$'.$key.' =>' : '' ;
 
      $replace_foreach = 'var_tpl_arr["'.$from.'"] as '.$key.' $'.$item.') { ?>';
 
      $content = str_replace($match_foreach[0][$match_key], $replace_foreach, $content);
 
     }
 
    }
 
    $pattern_foreach = "/{$left_tag}\/foreach{$right_tag}/";
 
    $replace_foreach = "";
 
    if (preg_match($pattern_foreach, $content)) {
 
     $content = preg_replace($pattern_foreach, $replace_foreach, $content);
 
    }
 
    // var in statement
 
    $pattern_var = "/{$left_tag}==([\w\d]+){$right_tag}/";
 
    $replace_var = '';
 
    if (preg_match($pattern_var, $content)) {
 
     $content = preg_replace($pattern_var, $replace_var, $content);
 
    }
 
  解析后:
 
   代码如下
 
  1
 
  var_tpl_arr["article_title"];?>

    -- by var_tpl_arr["author"];?>
 
  2
 
  3
 
  foreach test:
 
  4 var_tpl_arr["url"] as $b => $c) { ?>
 
  5
 
  6
 
  使用:
 
   代码如下
 
  1
 
  2 require_once 'core/YATP.class.php';
 
  3 $app = new YATP();
 
  date_default_timezone_set("Asia/Shanghai");
 
  $app->is_cache = false;
 
  4 $article_title = "yet,it is a simple template engine";
 
  $author = "sanwhiteyu@tencent.com";
 
  $web_tile = "just test ";
 
  $content = "It is easy to write a simple template engine for yourself,what u can do is try to do it!";
 
  $time = date("Y-m-d H:i:s",time());
 
  5 $url = array(
 
    "url1"=>"http://www.111com.net",
 
    "url2"=>"http://www.111com.net",
 
  );
 
  6 $app->assign("article_title",$article_title);
 
  $app->assign("author",$author);
 
  $app->assign("web_tile",$web_tile);
 
  $app->assign("content",$content);
 
  $app->assign("time",$time);
 
  $app->assign("url",$url);
 
  $app->display("index.html");
 
  7
 
  // end of script
 

(编辑:应用网_扬州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章