|
<?php
//模擬sql數(shù)據(jù)
$array = array(0=>'apple',1=>'banana',2=>'cat',3=>'dog',4=>'egg','5'=>'father');
//function 用法1
//arr 是傳入的數(shù)據(jù) $con 是條件
function f_1($arr,$con){
//這里的 array 是這個函數(shù)內(nèi)私有的,不會和出面的array沖突
//所以,外地面的 array不里直接在內(nèi)面用,里面的array也不能直接外面用
//先實(shí)例一個array
$array = array();
//for foreach while 用法都類似,具體baidu
foreach ($arr as $key => $value) {
//如果循環(huán)出來的 value 等于 con 的話,就把他加入到數(shù)組
if ($value == $con) {
//數(shù)組和變量的區(qū)別在于加了個 []
$array[] = array($key => $value);
}
}
//循環(huán)得到結(jié)果后 返回數(shù)組。所以,這個函數(shù)就是一個數(shù)組
return $array;
//return 執(zhí)行后就終斷了,無論后面還有什么代碼 都不會被執(zhí)行
//return可以看做是一個函數(shù)結(jié)束的地方
}
//function 用法2
//$con 可以是數(shù)組
function f_2($arr,$con){
//先實(shí)例一個變量
$code = '<ul>';
foreach ($arr as $key => $value) {
//里面的for循環(huán) 是 循環(huán)出con內(nèi)容
foreach ($con as $value2) {
// .= 往后添加更多 連續(xù)定義變量
// 如果第一層數(shù)據(jù)循環(huán)出來的值,和第二層條件循環(huán)出現(xiàn)的值相同,添加到 變量里
//多個for循環(huán)來過濾數(shù)據(jù)也稱為 遞歸
if ($value == $value2) {
$code .= '<li>'.$value.'</li>';
}
}
}
$code .= '</ul>';
//循環(huán)得到結(jié)果后 返回變量。所以,這個函數(shù)就是一個字符串
return $code;
}
//function 用法3
//在函數(shù)里 echo 和 return 有什么區(qū)別 看執(zhí)行結(jié)果
function f_3($arr,$con){
//先實(shí)例一個變量
echo '<ul>';
foreach ($arr as $key => $value) {
//里面的for循環(huán) 是 循環(huán)出con內(nèi)容
foreach ($con as $value2) {
// .= 往后添加更多 連續(xù)定義變量
// 如果第一層數(shù)據(jù)循環(huán)出來的值,和第二層條件循環(huán)出現(xiàn)的值相同,添加到 變量里
//多個for循環(huán) 去過濾數(shù)據(jù)也稱為 遞歸
if ($value == $value2) {
echo '<li>'.$value.'</li>';
}
}
}
echo '</ul>';
}
?>
f_1 output start<br/>
<?php
//因為 f_1 是一個數(shù)組,我們可以打印出來
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 已經(jīng)在函數(shù)里面echo 了,所以在函數(shù)執(zhí)行時不用echo
$con = array('apple','father');
f_3($array,$con);
?>
<br/>f_2 output end
php技術(shù):php function用法如何遞歸及return和echo區(qū)別,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。