php function用法如何递归及return和echo区别


Posted in PHP onMarch 07, 2014
<?php 
//模拟sql数据 
$array = array(0=>'apple',1=>'banana',2=>'cat',3=>'dog',4=>'egg','5'=>'father'); //function 用法1 
//arr 是传入的数据 $con 是条件 
function f_1($arr,$con){ 
//这里的 array 是这个函数内私有的,不会和出面的array冲突 
//所以,外地面的 array不里直接在内面用,里面的array也不能直接外面用 
//先实例一个array 
$array = array(); 
//for foreach while 用法都类似,具体baidu 
foreach ($arr as $key => $value) { 
//如果循环出来的 value 等于 con 的话,就把他加入到数组 
if ($value == $con) { 
//数组和变量的区别在于加了个 [] 
$array[] = array($key => $value); 
} 
} 
//循环得到结果后 返回数组。所以,这个函数就是一个数组 
return $array; 
//return 执行后就终断了,无论后面还有什么代码 都不会被执行 
//return可以看做是一个函数结束的地方 
} 

//function 用法2 
//$con 可以是数组 
function f_2($arr,$con){ 
//先实例一个变量 
$code = '<ul>'; 
foreach ($arr as $key => $value) { 
//里面的for循环 是 循环出con内容 
foreach ($con as $value2) { 
// .= 往后添加更多 连续定义变量 
// 如果第一层数据循环出来的值,和第二层条件循环出现的值相同,添加到 变量里 
//多个for循环来过滤数据也称为 递归 
if ($value == $value2) { 
$code .= '<li>'.$value.'</li>'; 
} 
} 
} 
$code .= '</ul>'; 
//循环得到结果后 返回变量。所以,这个函数就是一个字符串 
return $code; 
} 
//function 用法3 
//在函数里 echo 和 return 有什么区别 看执行结果 
function f_3($arr,$con){ 
//先实例一个变量 
echo '<ul>'; 
foreach ($arr as $key => $value) { 
//里面的for循环 是 循环出con内容 
foreach ($con as $value2) { 
// .= 往后添加更多 连续定义变量 
// 如果第一层数据循环出来的值,和第二层条件循环出现的值相同,添加到 变量里 
//多个for循环 去过滤数据也称为 递归 
if ($value == $value2) { 
echo '<li>'.$value.'</li>'; 
} 
} 
} 
echo '</ul>'; 
} 
?> 
f_1 output start<br/> 
<?php 
//因为 f_1 是一个数组,我们可以打印出来 
print_r(f_1($array,'banana')); 
?> 
<br/>f_1 output end 
<hr/><br/> 
f_2 output start<br/> 
<?php 
//f_2 是变量 
$con = array('apple','father'); 
echo f_2($array,$con); 
?> 
<br/>f_2 output end 
<hr/><br/> 
f_2 output start<br/> 
<?php 
//f_3 已经在函数里面echo 了,所以在函数执行时不用echo 
$con = array('apple','father'); 
f_3($array,$con); 
?> 
<br/>f_2 output end
PHP 相关文章推荐
PHP syntax error, unexpected $end 错误的一种原因及解决
Oct 25 PHP
php基于mcrypt的加密解密实例
Oct 27 PHP
php计算title标题相似比的方法
Jul 29 PHP
php分页查询的简单实现代码
Mar 14 PHP
PHP实现电商订单自动确认收货redis队列
May 17 PHP
PHP5.6新增加的可变函数参数用法分析
Aug 25 PHP
PHP实现的最大正向匹配算法示例
Dec 19 PHP
Laravel实现短信注册的示例代码
May 29 PHP
PHP面向对象程序设计之多态性的应用示例
Dec 19 PHP
smarty模板的使用方法实例分析
Sep 18 PHP
PHP Swoole异步MySQL客户端实现方法示例
Oct 24 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 29 PHP
详解PHP中strlen和mb_strlen函数的区别
Mar 07 #PHP
解决Codeigniter不能上传rar和zip压缩包问题
Mar 07 #PHP
php 生成自动创建文件夹并上传文件的示例代码
Mar 07 #PHP
根据ip调用新浪api获取城市名并转成拼音
Mar 07 #PHP
体育彩票排列三组选三算法分享
Mar 07 #PHP
PHP错误和异长常处理总结
Mar 06 #PHP
php发送post请求函数分享
Mar 06 #PHP
You might like
动态网站web开发 PHP、ASP还是ASP.NET
2006/10/09 PHP
php adodb连接不同数据库
2009/03/19 PHP
java微信开发之上传下载多媒体文件
2016/06/24 PHP
PHP实现二维数组中的查找算法小结
2018/06/09 PHP
不安全的常用的js写法
2009/09/15 Javascript
javascript 特性检测并非浏览器检测
2010/01/15 Javascript
javascript的数据类型、字面量、变量介绍
2012/05/23 Javascript
JS跨域总结
2012/08/30 Javascript
JavaScript实现找出数组中最长的连续数字序列
2014/09/03 Javascript
jquery实现翻动fadeIn显示的方法
2015/03/05 Javascript
Javascript中的方法链(Method Chaining)介绍
2015/03/15 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
2015/09/24 Javascript
jQuery获取file控件中图片的宽高与大小
2016/08/04 Javascript
vue-router路由懒加载和权限控制详解
2017/12/13 Javascript
vue-better-scroll 的使用实例代码详解
2018/12/03 Javascript
vue中v-show和v-if的异同及v-show用法
2019/06/06 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
2019/12/17 Javascript
关于Python中异常(Exception)的汇总
2017/01/18 Python
Python读取excel中的图片完美解决方法
2018/07/27 Python
Python中使用__new__实现单例模式并解析
2019/06/25 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
2019/09/18 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
纯CSS实现聊天框小尖角、气泡效果
2014/04/04 HTML / CSS
网络艺术零售业的先驱者:artrepublic
2017/09/26 全球购物
出门问问全球官方商城:Tichome音箱和TicWatch智能手表
2017/12/02 全球购物
Lacoste澳大利亚官网:服装、鞋类及配饰
2018/11/14 全球购物
低碳环保倡议书
2014/04/14 职场文书
感恩小明星事迹材料
2014/05/23 职场文书
2014年办公室主任工作总结
2014/11/12 职场文书
2014年计划生育协会工作总结
2014/11/14 职场文书
先进党支部申报材料
2014/12/24 职场文书
财务稽核岗位职责
2015/04/13 职场文书
高三物理教学反思
2016/02/20 职场文书
十大最强水系宝可梦,最美宝可梦排第三,榜首大家最熟悉
2022/03/18 日漫
Docker下安装Oracle19c
2022/04/13 Servers
js前端图片加载异常兜底方案
2022/06/21 Javascript