php function用法如何遞迴及return和echo區別_PHP教程

來源:互聯網
上載者:User
複製代碼 代碼如下:
//類比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 = '
    ';
    foreach ($arr as $key => $value) {
    //裡面的for迴圈 是 迴圈出con內容
    foreach ($con as $value2) {
    // .= 往後添加更多 連續定義變數
    // 如果第一層資料迴圈出來的值,和第二層條件迴圈出現的值相同,添加到 變數裡
    //多個for迴圈來過濾資料也稱為 遞迴
    if ($value == $value2) {
    $code .= '
  • '.$value.'
  • ';
    }
    }
    }
    $code .= '
';
//迴圈得到結果後 返回變數。所以,這個函數就是一個字串
return $code;
}

//function 用法3
//在函數裡 echo 和 return 有什麼區別 看執行結果
function f_3($arr,$con){
//先執行個體一個變數
echo '
    ';
    foreach ($arr as $key => $value) {
    //裡面的for迴圈 是 迴圈出con內容
    foreach ($con as $value2) {
    // .= 往後添加更多 連續定義變數
    // 如果第一層資料迴圈出來的值,和第二層條件迴圈出現的值相同,添加到 變數裡
    //多個for迴圈 去過濾資料也稱為 遞迴
    if ($value == $value2) {
    echo '
  • '.$value.'
  • ';
    }
    }
    }
    echo '
';
}
?>

f_1 output start

//因為 f_1 是一個數組,我們可以列印出來
print_r(f_1($array,'banana'));
?>

f_1 output end


f_2 output start

//f_2 是變數
$con = array('apple','father');
echo f_2($array,$con);
?>

f_2 output end


f_2 output start

//f_3 已經在函數裡面echo 了,所以在函數執行時不用echo
$con = array('apple','father');
f_3($array,$con);
?>

f_2 output end

http://www.bkjia.com/PHPjc/736784.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/736784.htmlTechArticle複製代碼 代碼如下: ?php //類比sql資料 $array = array(0='apple',1='banana',2='cat',3='dog',4='egg','5'='father'); //function 用法1 //arr 是傳入的資料 $con 是條件...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.