php function用法如何递归及return和echo区别

 更新时间:2014年03月07日 16:28:22   作者:  
这篇文章主要介绍了php function用法如何递归及return和echo区别,需要的朋友可以参考下
复制代码 代码如下:

<?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创建Cookie数组的详解

    基于PHP创建Cookie数组的详解

    本篇文章是对在PHP中创建Cookie数组的方法进行了详细的分析介绍,需要的朋友参考下
    2013-07-07
  • 又十个超级有用的PHP代码片段

    又十个超级有用的PHP代码片段

    这篇文章又介绍了十个超级有用的PHP代码片段,每一个都很精彩,每一个都值得收藏,感兴趣的小伙伴们可以参考一下
    2015-09-09
  • PHP调用全国天气预报数据接口查询天气示例

    PHP调用全国天气预报数据接口查询天气示例

    这篇文章主要介绍了PHP调用全国天气预报数据接口查询天气,涉及第三方平台的key申请、接口数据调用及curl相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • PHP下ajax跨域的解决方案之window.name实例分析

    PHP下ajax跨域的解决方案之window.name实例分析

    这篇文章主要介绍了PHP下ajax跨域的解决方案之window.name,结合实例形式分析PHP ajax跨域的解决方案window.name基本原理、操作技巧与相关注意事项,需要的朋友可以参考下
    2020-03-03
  • PHP设计模式之适配器模式原理与用法分析

    PHP设计模式之适配器模式原理与用法分析

    这篇文章主要介绍了PHP设计模式之适配器模式,简单描述了适配器模式的概念、原理并结合实例形式分析了php类适配器模式与对象适配器模式的具体定义与使用方法,需要的朋友可以参考下
    2018-04-04
  • PHP输出缓存ob系列函数详解

    PHP输出缓存ob系列函数详解

    ob,输出缓冲区,是output buffering的简称,而不是output cache。ob用对了,是能对速度有一定的帮助,但是盲目的加上ob函数,只会增加CPU额外的负担
    2014-03-03
  • PHP实现自动识别Restful API的返回内容类型

    PHP实现自动识别Restful API的返回内容类型

    这篇文章主要介绍了PHP实现自动识别Restful API的返回内容类型,并实现自动自动渲染成 json、xml、html、serialize、csv、php等数据格式输出,需要的朋友可以参考下
    2015-02-02
  • php获取字符串中各个字符出现次数的方法

    php获取字符串中各个字符出现次数的方法

    这篇文章主要介绍了php获取字符串中各个字符出现次数的方法,实例分析了php获取字符串中字符出现次数的三种常见技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • php获取textarea的值并处理回车换行的方法

    php获取textarea的值并处理回车换行的方法

    这篇文章主要介绍了php获取textarea的值并处理回车换行的方法,涉及到对特殊字符的转换与处理,需要的朋友可以参考下
    2014-10-10
  • MySQL修改密码方法总结

    MySQL修改密码方法总结

    MySQL修改密码方法总结 首先要声明一点,大部分情况下,修改MySQL是需要有mysql里的root权限的,所以一般用户无法更改密码,除非请求管理员。
    2008-03-03

最新评论