PHP数组foreach遍历输出例子详情
发布时间:2023-11-08 10:31:46 所属栏目:PHP教程 来源:网络
导读:
简单的一个php数组函数,之前没这个需要一直都不知道有这么一个函数,擦汗...
php数组逆序输出代码
代码如下
1 foreach(array_reverse($array) AS
简单的一个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 (编辑:92站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐