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学习 计数器实例代码
Jun 15 PHP
PHP5.3.1 不再支持ISAPI
Jan 08 PHP
PHP开启gzip页面压缩实例代码
Mar 11 PHP
PHP中操作ini配置文件的方法
Apr 25 PHP
如何使用PHP实现javascript的escape和unescape函数
Jun 29 PHP
单点登录 Ucenter示例分析
Oct 29 PHP
PHP命名空间(Namespace)简明教程
Jun 11 PHP
destoon实现资讯信息前面调用它所属分类的方法
Jul 15 PHP
微信access_token的获取开发示例
Apr 16 PHP
php实现图片上传、剪切功能
May 07 PHP
PHP实现一个简单url路由功能实例
Nov 05 PHP
利用php + Laravel如何实现部署自动化详解
Oct 11 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
ThinkPHP表单自动提交验证实例教程
2014/07/18 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
2014/09/04 PHP
PHP往XML中添加节点的方法
2015/03/12 PHP
PHP框架Laravel学习心得体会
2015/10/28 PHP
利用php_imagick实现复古效果的方法
2016/10/18 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
当jQuery遭遇CoffeeScript的时候 使用分享
2011/09/17 Javascript
完美解决AJAX跨域问题
2013/11/01 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
2013/11/19 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
2014/06/24 Javascript
JavaScript中发布/订阅模式的简单实例
2014/11/05 Javascript
jQuery中parents()方法用法实例
2015/01/07 Javascript
理解Javascript文件动态加载
2016/01/29 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
2016/04/06 Javascript
javascirpt实现2个iframe之间传值的方法
2016/06/30 Javascript
JS+CSS3模拟溢出滚动效果
2016/08/12 Javascript
vue 2.0项目中如何引入element-ui详解
2017/09/06 Javascript
浅谈webpack编译vue项目生成的代码探索
2017/12/11 Javascript
优雅的将ElementUI表格变身成树形表格的方法步骤
2019/04/11 Javascript
详解Python中find()方法的使用
2015/05/18 Python
python多进程中的内存复制(实例讲解)
2018/01/05 Python
Python selenium抓取微博内容的示例代码
2018/05/17 Python
Python如何获取文件路径/目录
2020/09/22 Python
意大利领先的奢侈品在线时装零售商:MCLABELS
2020/10/13 全球购物
mysql有关权限的表都有哪几个
2015/04/22 面试题
计算机专业毕业生自荐信
2013/12/31 职场文书
《一株紫丁香》教学反思
2014/02/19 职场文书
洗车工岗位职责
2014/03/15 职场文书
公司联欢晚会主持词
2014/03/22 职场文书
党员群众路线个人整改措施思想汇报
2014/10/12 职场文书
2014房屋登记授权委托书
2014/10/13 职场文书
企业财务人员岗位职责
2015/04/14 职场文书
项目备案申请报告
2015/05/15 职场文书
党校培训学习心得体会
2016/01/06 职场文书
党员反四风学习心得体会
2016/01/22 职场文书
导游词之江西赣州
2019/10/15 职场文书