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 魔术函数使用说明
May 14 PHP
php数据库配置文件一般做法分享
Jul 07 PHP
php中利用str_pad函数生成数字递增形式的产品编号
Sep 30 PHP
php输出1000以内质数(素数)示例
Feb 16 PHP
浅谈php冒泡排序
Dec 30 PHP
XHProf报告字段含义的解析
May 17 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
Oct 22 PHP
浅谈PHP中try{}catch{}的使用方法
Dec 09 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
Aug 14 PHP
PHP中16个高危函数整理
Sep 19 PHP
asp.net和php的区别点总结
Oct 10 PHP
yii框架数据库关联查询操作示例
Oct 14 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 5.0对象模型深度探索之类的静态成员
2008/03/27 PHP
PHP 危险函数全解析
2009/09/09 PHP
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
2013/07/03 PHP
PHP把MSSQL数据导入到MYSQL的方法
2014/12/27 PHP
PHP实现简单的计算器
2020/08/28 PHP
JavaScript中出现乱码的处理心得
2009/12/24 Javascript
javascript event 事件解析
2011/01/31 Javascript
Jquery倒数计时按钮setTimeout的实例代码
2013/07/04 Javascript
详解js闭包
2014/09/02 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
2016/03/17 Javascript
JQuery统计input和textarea文字输入数量(代码分享)
2016/12/29 Javascript
Angular之指令Directive用法详解
2017/03/01 Javascript
利用Node.js检测端口是否被占用的方法
2017/12/07 Javascript
自定义vue组件发布到npm的方法
2018/05/09 Javascript
微信小程序实现运动步数排行功能(可删除)
2018/07/05 Javascript
解决vuejs 使用value in list 循环遍历数组出现警告的问题
2018/09/26 Javascript
js如何实现元素曝光上报
2019/08/07 Javascript
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
Python面向对象程序设计构造函数和析构函数用法分析
2019/04/12 Python
python机器人运动范围问题的解答
2019/04/29 Python
Django CBV类的用法详解
2019/07/26 Python
django ModelForm修改显示缩略图 imagefield类型的实例
2019/07/28 Python
django将数组传递给前台模板的方法
2019/08/06 Python
Python爬取知乎图片代码实现解析
2019/09/17 Python
python使用socket实现的传输demo示例【基于TCP协议】
2019/09/24 Python
matplotlib实现显示伪彩色图像及色度条
2019/12/07 Python
利用setuptools打包python程序的方法步骤
2020/01/18 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
2020/02/15 Python
美国大城市最热门旅游景点门票:CityPASS
2016/12/16 全球购物
英国时尚高尔夫服装购物网站:Trendy Golf
2020/01/10 全球购物
文体活动总结范文
2014/05/05 职场文书
入党综合考察材料
2014/06/02 职场文书
房产协议书范本
2014/10/18 职场文书
呼兰河传读书笔记
2015/06/30 职场文书
六年级数学教学反思
2016/02/16 职场文书
小学语文的各类谚语(70首)
2019/08/15 职场文书