zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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

递归 如何 区别 用法 return Echo
2023-06-13 09:15:19 时间
复制代码代码如下:

<?php
//模拟sql数据
$array=array(0=>"apple",1=>"banana",2=>"cat",3=>"dog",4=>"egg","5"=>"father");

//function用法1
//arr是传入的数据$con是条件
functionf_1($arr,$con){
//这里的array是这个函数内私有的,不会和出面的array冲突
//所以,外地面的array不里直接在内面用,里面的array也不能直接外面用
//先实例一个array
$array=array();
//forforeachwhile用法都类似,具体baidu
foreach($arras$key=>$value){
//如果循环出来的value等于con的话,就把他加入到数组
if($value==$con){
//数组和变量的区别在于加了个[]
$array[]=array($key=>$value);
}
}
//循环得到结果后返回数组。所以,这个函数就是一个数组
return$array;
//return执行后就终断了,无论后面还有什么代码都不会被执行
//return可以看做是一个函数结束的地方
}


//function用法2
//$con可以是数组
functionf_2($arr,$con){
//先实例一个变量
$code="<ul>";
foreach($arras$key=>$value){
//里面的for循环是循环出con内容
foreach($conas$value2){
//.=往后添加更多连续定义变量
//如果第一层数据循环出来的值,和第二层条件循环出现的值相同,添加到变量里
//多个for循环来过滤数据也称为递归
if($value==$value2){
$code.="<li>".$value."</li>";
}
}
}
$code.="</ul>";
//循环得到结果后返回变量。所以,这个函数就是一个字符串
return$code;
}

//function用法3
//在函数里echo和return有什么区别看执行结果
functionf_3($arr,$con){
//先实例一个变量
echo"<ul>";
foreach($arras$key=>$value){
//里面的for循环是循环出con内容
foreach($conas$value2){
//.=往后添加更多连续定义变量
//如果第一层数据循环出来的值,和第二层条件循环出现的值相同,添加到变量里
//多个for循环去过滤数据也称为递归
if($value==$value2){
echo"<li>".$value."</li>";
}
}
}
echo"</ul>";
}
?>

f_1outputstart<br/>
<?php
//因为f_1是一个数组,我们可以打印出来
print_r(f_1($array,"banana"));
?>
<br/>f_1outputend
<hr/><br/>
f_2outputstart<br/>
<?php
//f_2是变量
$con=array("apple","father");
echof_2($array,$con);
?>
<br/>f_2outputend
<hr/><br/>
f_2outputstart<br/>
<?php
//f_3已经在函数里面echo了,所以在函数执行时不用echo
$con=array("apple","father");
f_3($array,$con);
?>
<br/>f_2outputend