`
xfcode
  • 浏览: 22489 次
  • 性别: 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不使用递归来实现无限级(不使用递归).zip

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

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

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

    PHP函数实验报告

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

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

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

    PHP 常用函数 网上各类函数

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

    php代码-PHP递归调用

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

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

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

    PHP无限分类的原理.

    为了避免递归带来的性能问题,可以使用非递归方法,如预排序遍历树(Pre-Order Traversal Tree,简称POT)或后序遍历树(Post-Order Traversal Tree,简称POT)算法,或者使用栈或队列数据结构来存储待处理的分类。...

    PHP100视频教程07:PHP函数和自定义函数.rar

    "使用说明文档.txt"可能提供教程的详细步骤和注意事项,而"php100-7.wmv"则可能是配套的视频讲解,通过观看可以帮助理解和掌握函数的使用方法。 总的来说,理解和熟练运用PHP的函数是成为合格PHP开发者的基础。通过...

    php无限级分类 无限级分类

    `index.php`和`edit.php`可能是用于展示分类和编辑分类的页面,可能需要从数据库获取分类数据,然后使用上述无限级分类的实现方法进行处理,最后以HTML形式显示。在编辑分类时,还需要处理父分类的选择和更新分类...

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

    本篇文章将探讨两种不同的方法来实现这个功能:递归和循环算法。 首先,我们来看递归方法。递归是一种函数调用自身的技术,特别适合处理具有层次结构的数据,如链表和树。在字符串翻转的场景中,我们可以利用递归...

    php将一个数字分解为质数相乘

    这个函数可以叫做`decomposeToPrimes()`,它会接收一个数字,然后使用循环和递归的方式找出所有可能的质数因子,直到数字变成1为止。为了提高效率,我们可以从最小的质数2开始尝试分解。 ```php function ...

    php增强版的树形分类

    本文将深入探讨如何使用PHP实现一个增强版的树形分类系统,包括生成2维数组、修饰符(可替换为图片)、获取父级与子级数组、当前位置数组以及格式化数组的方法。 首先,我们需要理解树形分类的基本概念。在计算机...

Global site tag (gtag.js) - Google Analytics