這篇文章主要介紹了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 、