複製代碼 代碼如下:
//類比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 是條件...