`
xfcode
  • 浏览: 21834 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

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

    博客分类:
  • php
 
阅读更多
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); 
} //脚本学堂 http://www.jbxue.com
} 
//循环得到结果后 返回数组。所以,这个函数就是一个数组 
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); 
?> //脚本学堂 http://www.jbxue.com
<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递归函数中使用return的注意事项

    php递归函数中使用return的时候会碰到无法正确返回想要的值得情况,如果不明白其中的原因,很难找出错误的,就下面的具体例子来说明一下吧: 复制代码 代码如下: function test($i){ $i-=4; if($i&lt;3){ return $i;...

    php使用递归函数实现数字累加的方法

    本文实例讲述了php使用递归函数实现数字累加的方法。分享给大家供大家参考。具体实现方法如下: &lt;?php function summation ($... 您可能感兴趣的文章:php递归函数三种实现方法及如何实现数字累加php递归使用示例

    php中return的用法实例分析

    本文实例讲述了php中return的用法。分享给大家供大家参考。具体分析如下: 首先,它的意思就是返回;return()是语言结构而不是函数,仅在参数包含表达式时才需要用括号将其括起来。当返回一个变量时通常不用括号,...

    JavaScript的递归之递归与循环示例介绍

    递归与循环 对于不同类型的需要重复计算的问题,循环和递归两种方法各有所长,能给出更直观简单的方案。另一方面,循环和递归的方法可以互相转换。任何一个循环的代码都可以用递归改写,实现相同的功能;反之亦然。...

    matlab子函数function用法示例

    matlab子函数function用法示例

    SyntaxError: ‘return’ outside function 在python里面的报错问题

    Return需要放在函数里面 报错情况: 报错代码: #coding=utf-8 def find_friend(type, height, sex): :param type: 0示周杰伦 1表示彭于晏 2表示霍建华 :param height: 他的身高是多少 :param sex: 性别 :...

    PHP基于简单递归函数求一个数阶乘的方法示例

    本文实例讲述了PHP基于简单递归函数求一个数阶乘的方法。分享给大家供大家参考,具体如下: 一、问题: 求一个数a的阶乘,那么,a!=a*(a-1)*(a-2)*(a-3)*……*2*1.比如,6的阶乘6!=6*5*4*3*2*1=720.那么,如何通过...

    php学习之function的用法

    下面是PHP申明函数的语法结构: 复制代码 代码如下: Function function_name($argument1,$argument2,$argument3,……$argumentn) { //函数代码code Return 返回值; } 以上语法结构中,关键字的含义如下. (1)function:...

    php递归函数怎么用才有效

    有关php递归函数的用法,分享几个php递归函数的例子,在php编程中,使用递归进行函数调用很常见,递归函数用的好,可以提高代码效率,通过例子学习php递归函数的使用。 一、什么是递归函数? 一个函数在它的函数...

    PHP数组与对象之间使用递归实现转换的方法

    本文实例讲述了PHP数组与对象之间使用递归实现转换的方法。分享给大家供大家参考。具体实现方法如下: 这里涉及一些简单的对象与数组的相互转换的问题,采用递归写了两个方法如下: function arrayToObject($e){ ...

    eval(function(p,a,c,k,e,d)解码工具

    解码 eval(function(p,a,c,k,e,d){e=function(c){return(c(parseInt(c/a)))+((c=c%a)&gt;35?String.fromCharCode(c+29):c.toString(36))};

    php递归json类实例

    本文实例讲述了php递归json类的实现方法。分享给大家供大家参考。 具体实现代码如下: 复制代码 代码如下:&lt;?php /*   * @ anthor:QD  * @ time: 2013-09-27  */ class json{  private $Arr = array();...

    javascript匿名函数中的’return function()’作用

    return function() { /* NOPs */ } }); 代码块#2 程序员可能打算实现一个自调用功能.他们没有完全完成实现(他们在嵌套括号的末尾缺少一个().另外,由于它们在外部函数中没有做任何事情,所以嵌套的自调用函数可以...

    es6函数之尾递归用法实例分析

    本文实例讲述了es6函数之尾递归用法。分享给大家供大家参考,具体如下: 函数调用自身,称为递归,如果尾调用自身,就称为尾递归。 递归非常耗费内存。因为需要同时保存成千上百个调用帧,很容易发生“栈溢出”错误...

    Linux系统递归生成目录中文件的md5的方法

    linux下使用md5sum递归生成整个目录的md5 今天要用md5sum操作目录,递归生成目录下所有文件的md5值,结果发现它不支持递归操作于是写了个php脚本处理下 代码: &lt;?php $path ='/data/www/bbs/source'; $...

    php基于闭包实现函数的自调用(递归)实例分析

    本文实例讲述了php基于闭包实现函数的自调用(递归)的方法。分享给大家供大家参考,具体如下: php的闭包可能不常用,但是在某些场合之下还是可以考虑用php的闭包来实现某些功能的,比如递归,这里讲一下用php的闭包...

    PHP基于二分法实现数组查找功能示例【循环与递归算法】

    分别使用while循环的方法和递归调用的方法。 &lt;?php // 二分法的使用数组必须是有序的,或升序,或降序 $arr = array( 1, 3, 5, 7, 9, 13 ); // 递归调用(相比较好理解 function bsearch_r($v, $arr, $low, $...

    开发PHP扩展详细教程

    具体实现时难点也就是参数的传入和结果传出,还好PHP已经为我们做了很好的抽象。在Zend的教程中也有详尽的说明,俺就不啰嗦了。关键代码照搬icbc的test.c就行了。 5.编译安装我们的库 先将ICBC的头文件考到...

Global site tag (gtag.js) - Google Analytics