萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php function用法如何遞歸及return和echo區別

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  、  
copyright © 萬盛學電腦網 all rights reserved