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 相关文章推荐
将RTF格式的文件转成HTML并在网页中显示的代码
Oct 09 PHP
php 提速工具eAccelerator 配置参数详解
May 16 PHP
超级实用的7个PHP代码片段分享
Jan 05 PHP
深入php list()函数的详解
Jun 05 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
Jul 03 PHP
php定时执行任务设置详解
Feb 06 PHP
[原创]PHP实现逐行删除文件右侧空格的方法
Dec 25 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
Apr 04 PHP
php表单加入Token防止重复提交的方法分析
Oct 10 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
Oct 29 PHP
PHP读取并输出XML文件数据的简单实现方法
Dec 22 PHP
PHP写API输出的时用echo的原因详解
Apr 28 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
php 搜索框提示(自动完成)实例代码
2012/02/05 PHP
thinkphp连贯操作实例分析
2014/11/22 PHP
5款适合PHP使用的HTML编辑器推荐
2015/07/03 PHP
WordPress分页伪静态加html后缀
2016/06/08 PHP
PHP的垃圾回收机制代码实例讲解
2021/02/27 PHP
JavaScript几种形式的树结构菜单
2010/05/10 Javascript
基于OO的动画附加插件,可以实现弹跳、渐隐等动画效果 分享
2013/06/24 Javascript
Nodejs极简入门教程(三):进程
2014/10/27 NodeJs
jQuery中trigger()方法用法实例
2015/01/19 Javascript
jquery显示loading图片直到网页加载完成的方法
2015/06/25 Javascript
jquery插件jquery.confirm弹出确认消息
2015/12/22 Javascript
jquery easyUI中ajax异步校验用户名
2016/08/19 Javascript
Javascript之面向对象--封装
2016/12/02 Javascript
你或许不知道的一些npm实用技巧
2019/07/04 Javascript
vue 自动化路由实现代码
2019/09/03 Javascript
javascript严格模式详解(含严格模式与非严格模式的区别)
2019/11/12 Javascript
[16:43]Heroes19_剃刀(完美)
2014/10/31 DOTA
python中Flask框架简单入门实例
2015/03/21 Python
python中使用mysql数据库详细介绍
2015/03/27 Python
Python中的defaultdict模块和namedtuple模块的简单入门指南
2015/04/01 Python
Python datetime和unix时间戳之间相互转换的讲解
2019/04/01 Python
python实现LRU热点缓存及原理
2019/10/29 Python
python 检查数据中是否有缺失值,删除缺失值的方式
2019/12/02 Python
利用setuptools打包python程序的方法步骤
2020/01/18 Python
python函数调用,循环,列表复制实例
2020/05/03 Python
基于Tensorflow的MNIST手写数字识别分类
2020/06/17 Python
网易微博Web App用HTML5开发的过程介绍
2012/06/13 HTML / CSS
Html5 滚动穿透的方法
2019/05/13 HTML / CSS
Wedgwood美国官网:英国骨瓷,精美礼品及家居装饰
2018/02/17 全球购物
BIBLOO波兰:捷克的一家在线服装店
2018/03/09 全球购物
英国景点门票网站:attractiontix
2019/08/27 全球购物
J2EE的优越性主要表现在哪些方面
2016/03/28 面试题
监察局领导班子四风问题整改措施思想汇报
2014/10/05 职场文书
学生检讨书范文
2015/01/27 职场文书
闭幕词的写作格式与范文!
2019/06/24 职场文书
2019年房屋委托租赁合同范本(通用版)!
2019/07/17 职场文书