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

 这篇文章主要介绍了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 

 

时间: 2024-09-27 07:12:51

php function用法如何递归及return和echo区别的相关文章

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

复制代码 代码如下: <?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不里直接在内面用,里面的a

php递归用法与递归目录实例

看一个简单的递归实例 例1  代码如下 复制代码 function demo($a) {      static $sum=1;      if($a > 1){          $sum*=$a;          demo(--$a);      }else{          $a=$sum;          }          return $sum;  }    echo demo(10); 例2 遍历目录  代码如下 复制代码 <?php class listdir{ var

c++-C++中return语句的用法?不写return,返回值是什么含义?

问题描述 C++中return语句的用法?不写return,返回值是什么含义? int hanshu() { int i; } int main() { printf("%d", hanshu()); } 解决方案 不同的编译器不同,会返回eax寄存器的值.这里这个程序在gcc上测试,结果是0. 解决方案二: 不写return 编译不通过, VS 解决方案三: 关于C++中return返回值

js中的错误b is null Ext.DomHelper=function(){ var s=null,j=....(){return (&amp;amp;quot;DragDrop&amp;amp;quot;

问题描述 错误信息: b is null Ext.DomHelper=function(){ var s=null,j=....(){return ("DragDrop"+this.id)}}})(); 代码示下:var cm=new Ext.grid.ColumnModel([{header:'编号',dataIndex:'id'},{header:'名称',dataIndex:'name'},{header:'描述',dataIndex:'descn'}]);var data=[[

JavaScript使用forEach()与jQuery使用each遍历数组时return false 的区别_javascript技巧

 原生js使用forEach()与jquery使用each()遍历数组,return false 的区别: 1.使用each()遍历数组a,如下: var a=[20,21,22,23,24]; $.each(a, function(index,val) { console.log('index='+index); if(index==2){ return false; } console.log('val='+val); }); 结果如下: 从运行的效果可以看出,return 相当于循环中的b

赋值-引用形参和return有什么区别和联系?

问题描述 引用形参和return有什么区别和联系? 形参是对地址进行操作.什么叫对地址进行操作?既然有时赋值形参无法把改变的变量传递给主函数,要传递只能用引用形参,那和用赋值形参,然后在被调函数最后加return的效果是否相同?在原理上有是否有什么区别?在本质上是否相同?是否可以替换? 解决方案 从编程的角度来说,都可以实现你要的目的. 但是两者产生的机器码不同,语法也不同,不知道你说的相同不同是从什么层面看. 事实上,微软的com编程,就使用指针而不是返回值来返回函数运行的结果,而返回值留给返

javascript 正则替换 replace(regExp, function)用法_javascript技巧

复制代码 代码如下: function fn() { for(var i = 0;i < arguments.length;i++){ alert("第"+(i+1)+"个参数的值:"+arguments[i]); } } var str = '<div id="{wo}" >{ni}</div>'; str.replace(/\{([a-z]+)\}/ig, fn); 根据多次测试由输出结果可以得出fn中: 第一个

verilog中的function用法与例子

函数的功能和任务的功能类似,但二者还存在很大的不同.在 Verilog HDL 语法中也存 在函数的定义和调用. 1.函数的定义 函数通过关键词 function 和 endfunction 定义,不允许输出端口声明(包括输出和双向 端口) ,但可以有多个输入端口.函数定义的语法如下: function [range] function_id;    input_declaration    other_declarations    procedural_statement endfuncti

一道优雅面试题分析js中fn()和return fn()的区别_javascript技巧

在js中,经常会遇到在函数里调用其它函数的情况,这时候会有 fn() 这种调用方式,还有一种是 return fn() 这种调用方式,一些初学者经常会被这两种方式给绕晕了.这里用一个优雅的面试题来分析一下两种方式的不同之处.  var i = 0; function fn(){ i++; if(i < 10){ fn(); }else{ return i; } } var result = fn(); console.log(result); 这是一道隐藏了坑的面试题,看似很简单,大部分人可能想