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 相关文章推荐
IP138 IP地址查询小偷实现代码
Feb 15 PHP
《PHP编程最快明白》第五讲:php目录、文件操作
Nov 01 PHP
php注销代码(session注销)
May 31 PHP
深入PHP许愿墙模块功能分析
Jun 25 PHP
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
May 08 PHP
PHP之autoload运行机制实例分析
Aug 28 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
Feb 03 PHP
Zend Framework动作助手Json用法实例分析
Mar 05 PHP
php网页版聊天软件实现代码
Aug 12 PHP
PHP实现断点续传乱序合并文件的方法
Sep 06 PHP
PHP反射学习入门示例
Jun 14 PHP
详解phpstorm2020最新破解方法
Sep 17 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
PHP4实际应用经验篇(8)
2006/10/09 PHP
php变量与数组相互转换的方法(extract与compact)
2016/12/02 PHP
PHP 7安装使用体验之性能大提升,兼容性强,扩展支持不够(升级PHP要谨慎)
2017/07/27 PHP
PHP大文件切割上传功能实例分析
2019/07/01 PHP
实例:尽可能写友好的Javascript代码
2006/10/09 Javascript
Javascript之旅 对象的原型链之由来
2010/08/25 Javascript
js单向链表的具体实现实例
2013/06/21 Javascript
js的回调函数详解
2015/01/05 Javascript
DOM基础教程之使用DOM
2015/01/19 Javascript
跟我学习javascript的执行上下文
2015/11/18 Javascript
JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面
2016/08/04 Javascript
如何用JS/HTML将时间戳转换为“xx天前”的形式
2017/02/06 Javascript
浅谈Vue.nextTick 的实现方法
2017/10/25 Javascript
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
2018/12/20 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
node实现socket链接与GPRS进行通信的方法
2019/05/20 Javascript
JS中的算法与数据结构之集合(Set)实例详解
2019/08/20 Javascript
js实现计算器功能
2020/08/10 Javascript
python判断windows隐藏文件的方法
2014/03/21 Python
python中将zip压缩包转为gz.tar的方法
2018/10/18 Python
python实现Virginia无密钥解密
2019/03/20 Python
python+gdal+遥感图像拼接(mosaic)的实例
2020/03/10 Python
python自动下载图片的方法示例
2020/03/25 Python
keras模型保存为tensorflow的二进制模型方式
2020/05/25 Python
Django通过设置CORS解决跨域问题
2020/11/26 Python
学生学习总结的自我评价
2013/10/22 职场文书
大专应届生个人的自我评价
2013/11/21 职场文书
医药学专业大学生职业生涯规划书论文
2014/01/21 职场文书
五年后的职业生涯规划
2014/03/04 职场文书
英语一分钟演讲稿
2014/04/29 职场文书
新书发布会策划方案
2014/06/09 职场文书
车辆年检委托书范本
2014/10/14 职场文书
《文化苦旅》读后感:阅读,让人诗意地栖居在大地上
2019/12/24 职场文书
Python离线安装openpyxl模块的步骤
2021/03/30 Python
Python实现随机生成迷宫并自动寻路
2021/06/13 Python
python疲劳驾驶困倦低头检测功能的实现
2022/04/04 Python