20180821 PHP環境下 數組 函數
數組基礎
數組長度 count($attr);
For($i = 0;$i<count($attr);$i++)
Foreach(){ }
數組基礎
php中,數組的下標可以是整數,或字符串。
php中,數組的元素順序不是由下標決定,而是由其“加入”的順序決定。
定義:
$arr1 = array(元素1,元素2,。。。。。 );
array(1, 5, 1.1, “abc”, true, false); //可以存儲任何數據,此時為“默認下標”,
array(2=>1, 5=>5, 3=>1.1, 7=>“abc”, 0=>true);//下標可以任意設定(無需順序,無需連續)
array(2=>1, 5, 1=>1.1, “abc”, 0=>true)//可以加下標,也可以不加(默認下標),下標分別是:2,3,1,4,0
//默認下標規則:前面已經用過的最大數字下標+1
array(2=>1, ‘dd’=>5, 1=>1.1, “abc”, 0=>true)//混合下標,同樣遵循默認下標規則
array(-2=>1, ‘dd’=>5, 1.1, “abc”, true); //負數下標不算在整數下標中,而只當作字符下標
//則最好3項的下標是:0, 1, 2
array(2.7=>1, ‘dd’=>5, 1=>1.1, “abc”, 0=>true);
array(“2.7” =>1, ‘dd’=>5, “11”=>1.1, “abc”, true)//純數字字符串下標,當作數字看待,
//則此時下標為:2, ‘dd’, 11, 12, 13
array(2=>1, ‘dd’=>5, true=>1.1, “abc”, false=>true)//布爾值當下標,則true為1,false為0;
array(2=>1, ‘dd’=>5, 2=>1.1, “abc”, true)//如果下標跟前面的重復,則單純覆蓋前面同名下標的值
//此時相當於為:array(2=>1.1, ‘dd’=>5, “abc”, true)
其他形式;
$arr1[] = 1;
$arr1[] = 5;
$arr1[] = 1.1; //直接在變量後面使用[],就成為數組,並依次賦值。
。。。。
$arr2[‘aa’] = 1;
$arr2[‘bbbcc’] = 5;
$arrr2[5] = 1.1;
。。。。。。。。
這種形式寫的下標,其實跟使用array語法結構幾乎一樣。
取值:通過下標。
賦值(同定義):
數組遍歷
遍歷基本語法
foreach( $arr as [ $key => ] $value ) //$key可以稱為鍵變量,$value可以稱為值變量。
{
//這裏就可以對$key 和 $value 進行所有可能的操作——因為他們就是一個變量
//$key 代表每次取得元素的下標,可能是數字,也可以能是字符串
//$value 代表每次取得元素的值,可能是各種類型。
//此循環結構會從數組的第一項一直遍歷循環到最後一項,然後結束。
}
函數
基本使用
函數定義形式
FUNCTION RETURN
function 函數名 (形參1,形參2,.... ){
//函數體(代碼塊)
}
函數參數問題
一個函數,
在定義時,有形式參數(形參);
1,形參一定是一個變量名!
2,該變量名只能是在該函數中有效的變量名;
3,而且只在該函數調用並執行時有效,函數結束,通常這些變量也就“銷毀”。
在調用時,有實際參數(實參)。
實參就是一個“實際數據”,
該數據可以是一個“直接數據”(比如5,”abc”),也可以是一個變量中存儲的數據。
實參的作用是將其數據“賦值給”形參變量。
實參跟形參之間通常應該有個“一一對應”關系:
定義形式: function 函數名(形參1,形參2,...... ){ 。。。。}
調用形式: 函數名(實參1,實參2,..... )
在系統中,var_dump()這個函數也有同樣的使用效果:
var_dump($v1);
var_dump($v1, $v2, $v3); //也可以
這種應用的實現,是依賴與系統中的3個系統函數來達到的:
func_get_args(); //獲得一個函數所接收到的所有實參數據,並結果是一個數組
func_get_arg(n); //獲得一個函數所接收到的第n歌實參數據(n從0開始)
func_num_args(); //獲得一個函數所接收到的所有實參數據的個數
實際應用中,常常是需要根據“用戶給定”的數據,來決定調用哪個函數,比如:
function jpg(){處理jpg圖}
function png(){處理png圖}
function gif(){處理gif圖}
$fileName = get_fileName(){獲取用戶上傳的圖片名};
$houzhui = get_houzhui($fileName);
$houzhui();
call_user_func_array(匿名函數,數組);
有關函數的系統函數:
function_exists():判斷某個函數是否被定義過,返回布爾值
if( function_exists(“ func1 “) == false ){
function func1(){。。。。。。};//定義函數
}
func_get_arg(n):獲得一個函數的第n個實參值(n從0開始)
func_get_args():獲得一個函數的所有實參,結果是一個數組
func_num_args():獲得一個函數的所有實參的個數。
20180821 PHP環境下 數組 函數