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 相关文章推荐
PHP3 safe_mode 失效漏洞
Oct 09 PHP
php中计算程序运行时间的类代码
Nov 03 PHP
在Yii框架中使用PHP模板引擎Twig的例子
Jun 13 PHP
ThinkPHP实现多数据库连接的解决方法
Jul 01 PHP
php查询相似度最高的字符串的方法
Mar 12 PHP
php关闭warning问题的解决方法
May 17 PHP
Yii中srbac权限扩展模块工作原理与用法分析
Jul 14 PHP
值得分享的php+ajax实时聊天室
Jul 20 PHP
PHP实现的常规正则验证helper公共类完整实例
Apr 27 PHP
PHP实现的Redis多库选择功能单例类
Jul 27 PHP
使用PHPStorm+XDebug搭建单步调试环境
Nov 19 PHP
php处理抢购类功能的高并发请求
Feb 08 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 preg_match_all结合str_replace替换内容中所有img
2008/10/11 PHP
php cli配置文件问题分析
2015/10/15 PHP
利用JQuery的load函数动态加载其它页面的内容的实现代码
2010/12/14 Javascript
js事件(Event)知识整理
2012/10/11 Javascript
解析DHTML,JavaScript,DOM,BOM以及WEB标准的描述
2013/06/19 Javascript
JS随机生成不重复数据的实例方法
2013/07/17 Javascript
jQuery取得select选择的文本与值的示例
2013/12/09 Javascript
JavaScript创建一个object对象并操作对象属性的用法
2015/03/23 Javascript
JavaScript函数使用的基本教程
2015/06/04 Javascript
JavaScript实现表格快速变色效果代码
2015/08/19 Javascript
SWFUpload多文件上传及文件个数限制的方法
2016/05/31 Javascript
jquery控制页面的展开和隐藏实现方法(推荐)
2016/10/15 Javascript
jQuery基本筛选选择器实例代码
2017/02/06 Javascript
几种响应式文字详解
2017/05/19 Javascript
基于jquery实现多级菜单效果
2017/07/25 jQuery
Angular实现双向折叠列表组件的示例代码
2017/11/21 Javascript
json对象及数组键值的深度大小写转换问题详解
2018/03/30 Javascript
小程序页面动态配置实现方法
2019/02/05 Javascript
微信小程序实现卡片层叠滑动效果
2019/06/21 Javascript
《javascript设计模式》学习笔记一:Javascript面向对象程序设计对象成员的定义分析
2020/04/07 Javascript
原生JS实现微信通讯录
2020/06/18 Javascript
node.js通过url读取文件
2020/10/16 Javascript
[01:48]帕吉至宝加入游戏,遗迹战场现“千劫神屠”
2018/04/07 DOTA
python函数返回多个值的示例方法
2013/12/04 Python
python urllib爬取百度云连接的实例代码
2017/06/19 Python
python 环境变量和import模块导入方法(详解)
2017/07/11 Python
基于python读取.mat文件并取出信息
2019/12/16 Python
使用jquery实现HTML5响应式导航菜单教程
2014/04/02 HTML / CSS
小学运动会表扬稿
2014/01/19 职场文书
体育之星事迹材料
2014/05/11 职场文书
三严三实对照检查材料范文
2014/09/23 职场文书
党员作风建设整改方案
2014/10/27 职场文书
信访维稳工作汇报
2014/10/27 职场文书
2016学习依法治国心得体会
2016/01/15 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书
OpenCV实现常见的四种图像几何变换
2022/04/01 Python