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 UTF-8、Unicode和BOM问题
May 18 PHP
php header Content-Type类型小结
Jul 03 PHP
php 地区分类排序算法
Jul 01 PHP
百度站点地图(百度sitemap)生成方法分享
Jan 09 PHP
php 生成自动创建文件夹并上传文件的示例代码
Mar 07 PHP
ThinkPHP实现带验证码的文件上传功能实例
Nov 01 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
Jan 07 PHP
PHP将进程作为守护进程的方法
Mar 19 PHP
PHP编译安装时常见错误解决办法
May 28 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
Jul 07 PHP
PHP实现微信商户支付企业付款到零钱功能
Sep 30 PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
Oct 22 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生成唯一订单号
2015/07/05 PHP
PHP mkdir创建文件夹实现方法解析
2020/11/13 PHP
JavaScript 异步调用框架 (Part 3 - 代码实现)
2009/08/04 Javascript
JavaScript Cookie的读取和写入函数
2009/12/08 Javascript
c#和Javascript操作同一json对象的实现代码
2012/01/17 Javascript
iframe子页面获取父页面元素的方法
2013/11/05 Javascript
ExtJs中gridpanel分组后组名排序实例代码
2013/12/02 Javascript
jQuery中:password选择器用法实例
2015/01/03 Javascript
JavaScript学习小结之使用canvas画“哆啦A梦”时钟
2016/07/24 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
2016/09/23 Javascript
Angular @HostBinding()和@HostListener()用法
2018/03/05 Javascript
微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
2018/10/09 Javascript
Vue父组件如何获取子组件中的变量
2019/07/24 Javascript
基于VUE的v-charts的曲线显示功能
2019/10/01 Javascript
jQuery实现简易聊天框
2020/02/08 jQuery
vue.js 解决v-model让select默认选中不生效的问题
2020/07/28 Javascript
[01:30:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第二场 2月2日
2021/03/11 DOTA
python简单获取数组元素个数的方法
2015/07/13 Python
Python机器学习之决策树算法
2017/12/22 Python
python中logging包的使用总结
2018/02/28 Python
python实现三次样条插值
2018/12/17 Python
python 反编译exe文件为py文件的实例代码
2019/06/27 Python
python3 线性回归验证方法
2019/07/09 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
python字符串分割及字符串的一些常规方法
2019/07/24 Python
使用python实现画AR模型时序图
2019/11/20 Python
flask框架url与重定向操作实例详解
2020/01/25 Python
django前端页面下拉选择框默认值设置方式
2020/08/09 Python
uniapp+Html5端实现PC端适配
2020/07/15 HTML / CSS
英国知名美妆护肤在线商城:Zest Beauty
2018/04/24 全球购物
加拿大租车网站:Enterprise Rent-A-Car
2018/07/26 全球购物
优秀医生事迹材料
2014/02/12 职场文书
2014年学校后勤工作总结
2014/12/06 职场文书
煤矿百日安全活动总结
2015/05/07 职场文书
Web前端:CSS最强总结 附详细代码
2021/03/31 HTML / CSS
原生Javascript+HTML5一步步实现拖拽排序
2021/06/12 Javascript