`
xfcode
  • 浏览: 23481 次
  • 性别: 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递归解析xml

    本篇将详细介绍如何使用PHP的递归方法解析XML并将其转换为数组,以便在ExtJS的tree组件中使用。 首先,我们来讨论如何使用SimpleXML扩展来解析XML。SimpleXML是一个易于使用的接口,可将XML字符串或文件加载为PHP...

    PHP无限级分类-非递归

    非递归方法是处理这种问题的一种高效方式,因为它避免了递归带来的内存消耗和性能问题。 ### 1. 数据库设计 首先,我们需要一个自引用的`categories`表,包含以下字段: - `id`:主键,唯一标识每个分类 - `name`:...

    用php递归将二维数组转换成一维数组

    本文将详细介绍如何使用PHP的递归方法来实现这个转换。 首先,我们需要理解什么是递归。递归是一种编程技术,它允许函数或方法调用自身,以便解决复杂问题。在处理多层嵌套的数据结构如多维数组时,递归尤其有效。 ...

    浅析PHP递归函数返回值使用方法

    本文将深入探讨PHP中的递归函数及其返回值的使用方法。 首先,让我们看一个简单的递归函数示例,这个例子展示了如何通过递归计算阶乘: ```php function factorial($n) { if ($n == 0) { return 1; // 递归基础...

    PHP无限级别的实现 PHP不使用递归来实现无限级(不使用递归).zip

    不使用递归实现无限级分类的关键在于使用自连接查询和栈数据结构。 1. 数据库设计: - 创建一个名为`categories`的表,包含以下字段: - id:主键,自增长 - name:类别名称 - parent_id:父类别的ID,用于关联...

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

    在编程领域,递归是一种强大的技术,它允许函数或方法调用自身来解决问题。在PHP中,递归常用于处理树形结构、回溯算法、排序等问题,而在本例中,我们将探讨如何使用递归函数来计算一个数的阶乘。 阶乘是一个数学...

    PHP函数实验报告

    实验中应深入研究这些常用函数的使用方法。 九、函数重载(overloading) 虽然PHP不支持真正的函数重载,但可以利用可变数量的参数或默认参数值模拟类似功能: ```php function sum(...$numbers) { $total = 0; ...

    php函数,不少于11个字

    根据提供的信息,我们可以总结并扩展出以下几个关于PHP函数的重要知识点: ### 1....以上介绍的知识点涵盖了PHP函数的基础知识、高级用法以及一些实用技巧,希望能帮助开发者更好地理解和使用PHP函数。

    PHP遍历二叉树的实现,深度优先,广度优先,非递归实现

    二叉树遍历是访问树中所有节点的一种方法,通常分为三种主要策略:深度优先搜索(DFS)和广度优先搜索(BFS),以及非递归实现。在PHP中,这些遍历方法可以用来处理各种数据结构问题,例如解决问题、搜索和排序等。 ...

    PHP实现字符串翻转功能的方法【递归与循环算法】

    在PHP编程语言中,实现字符串翻转功能有多种方法,其中两种常见的方法是使用循环和递归算法。这里我们将详细探讨这两种方法,并通过实例代码来理解它们的工作原理。 首先,让我们看看使用循环实现字符串翻转的方法...

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

    尽管闭包在PHP中不是一个经常使用的特性,但在某些情况下,比如实现递归,它能够提供简洁和强大的代码实现方式。 在讨论具体实现之前,先来理解几个关键概念。闭包(Closure)是PHP中一种特殊的函数,它可以访问...

    PHP 常用函数 网上各类函数

    在PHP编程语言中,函数是预定义的代码块,用于执行特定任务,可以被多次调用,以提高代码的重用性和效率。本压缩包包含了两个文件:`fun_fun.php` 和...学习和理解这些函数的功能和用法,对于提升PHP编程能力大有裨益。

    php代码-PHP递归调用

    在PHP编程中,递归是一种强大的技术,它允许函数或方法在执行过程中调用自身来解决复杂的问题。递归通常用于处理数据结构如树或图,或者执行分治算法等。下面我们将深入探讨PHP中的递归概念、工作原理以及如何在实际...

    php面试编程题_一份不错的php面试题(附答案)

    解释:这里提供了五种方法来获取文件的扩展名,包括 strrchr()、substr()、explode()、pathinfo() 和 strrev() 函数。 二、算法题 1. 使⽤PHP描述冒泡排序和快速排序算法,对象可以是⼀个数组 答案: //冒泡排序...

    php全排列递归算法代码

    递归算法是一种非常直观且有效的方法来实现全排列,具体步骤如下: 1. **基本情况**:当n=1时,排列只有一种情况,即排列本身。 2. **递归情况**:当n&gt;1时,将当前序列中的第一个元素依次与剩余元素交换位置,并对...

Global site tag (gtag.js) - Google Analytics