php function用法如何遞歸及return和echo區(qū)別
更新時(shí)間:2014年03月07日 16:28:22 作者:
這篇文章主要介紹了php function用法如何遞歸及return和echo區(qū)別,需要的朋友可以參考下
復(fù)制代碼 代碼如下:
<?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 是這個(gè)函數(shù)內(nèi)私有的,不會(huì)和出面的array沖突
//所以,外地面的 array不里直接在內(nèi)面用,里面的array也不能直接外面用
//先實(shí)例一個(gè)array
$array = array();
//for foreach while 用法都類似,具體baidu
foreach ($arr as $key => $value) {
//如果循環(huán)出來的 value 等于 con 的話,就把他加入到數(shù)組
if ($value == $con) {
//數(shù)組和變量的區(qū)別在于加了個(gè) []
$array[] = array($key => $value);
}
}
//循環(huán)得到結(jié)果后 返回?cái)?shù)組。所以,這個(gè)函數(shù)就是一個(gè)數(shù)組
return $array;
//return 執(zhí)行后就終斷了,無論后面還有什么代碼 都不會(huì)被執(zhí)行
//return可以看做是一個(gè)函數(shù)結(jié)束的地方
}
//function 用法2
//$con 可以是數(shù)組
function f_2($arr,$con){
//先實(shí)例一個(gè)變量
$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)的值相同,添加到 變量里
//多個(gè)for循環(huán)來過濾數(shù)據(jù)也稱為 遞歸
if ($value == $value2) {
$code .= '<li>'.$value.'</li>';
}
}
}
$code .= '</ul>';
//循環(huán)得到結(jié)果后 返回變量。所以,這個(gè)函數(shù)就是一個(gè)字符串
return $code;
}
//function 用法3
//在函數(shù)里 echo 和 return 有什么區(qū)別 看執(zhí)行結(jié)果
function f_3($arr,$con){
//先實(shí)例一個(gè)變量
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)的值相同,添加到 變量里
//多個(gè)for循環(huán) 去過濾數(shù)據(jù)也稱為 遞歸
if ($value == $value2) {
echo '<li>'.$value.'</li>';
}
}
}
echo '</ul>';
}
?>
f_1 output start<br/>
<?php
//因?yàn)?f_1 是一個(gè)數(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í)行時(shí)不用echo
$con = array('apple','father');
f_3($array,$con);
?>
<br/>f_2 output end
您可能感興趣的文章:
- php rmdir使用遞歸函數(shù)刪除非空目錄實(shí)例詳解
- php遞歸函數(shù)三種實(shí)現(xiàn)方法及如何實(shí)現(xiàn)數(shù)字累加
- php使用遞歸函數(shù)實(shí)現(xiàn)數(shù)字累加的方法
- php實(shí)現(xiàn)用于刪除整個(gè)目錄的遞歸函數(shù)
- php遞歸使用示例(php遞歸函數(shù))
- php遞歸函數(shù)中使用return的注意事項(xiàng)
- 淺析PHP遞歸函數(shù)返回值使用方法
- php實(shí)現(xiàn)遞歸的三種基本方式
- PHP基于簡單遞歸函數(shù)求一個(gè)數(shù)階乘的方法示例
相關(guān)文章
memcache一致性hash的php實(shí)現(xiàn)方法
這篇文章主要介紹了memcache一致性hash的php實(shí)現(xiàn)方法,實(shí)例分析了memcache中hash一致性的實(shí)現(xiàn)原理與相關(guān)技巧,需要的朋友可以參考下2015-03-03
php數(shù)組函數(shù)序列之a(chǎn)rray_unique() - 去除數(shù)組中重復(fù)的元素值
array_unique() 函數(shù)移除數(shù)組中的重復(fù)的值,并返回結(jié)果數(shù)組。 當(dāng)幾個(gè)數(shù)組元素的值相等時(shí),只保留第一個(gè)元素,其他的元素被刪除。2011-10-10
php 調(diào)用ffmpeg獲取視頻信息的簡單實(shí)現(xiàn)
下面小編就為大家?guī)硪黄猵hp 調(diào)用ffmpeg獲取視頻信息的簡單實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04
WordPress中用于獲取及自定義頭像圖片的PHP腳本詳解
這篇文章主要介紹了WordPress中用于獲取及自定義頭像圖片的PHP腳本編寫方法,分別為get_avatar()和alt標(biāo)簽的使用,需要的朋友可以參考下2015-12-12
php 實(shí)現(xiàn)Hash表功能實(shí)例詳解
Hash算法我們多少會(huì)了解一點(diǎn)了,下面來介紹利用php實(shí)現(xiàn)Hash表的一個(gè)例子,希望這些例子可以給各位帶來幫助,需要的朋友可以參考下2016-11-11
PHP使用strstr()函數(shù)獲取指定字符串后所有字符的方法
這篇文章主要介紹了PHP使用strstr()函數(shù)獲取指定字符串后所有字符的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了PHP中strstr()函數(shù)用于字符串截取的使用技巧,需要的朋友可以參考下2016-01-01
THINKPHP在添加數(shù)據(jù)的時(shí)候獲取主鍵id的值方法
下面小編就為大家?guī)硪黄猅HINKPHP在添加數(shù)據(jù)的時(shí)候獲取主鍵id的值方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04

