第五章 php陣列(預定義超全域性陣列、處理陣列的相關函式)
阿新 • • 發佈:2018-12-31
預定義超全域性陣列變數:
已經定義好了的變數(存放的資料型別是陣列)
超全域性:超級全域性變數,作用域(有效區域)
傳遞資料(提交資料)給伺服器端主要有兩種方式:
- get 方式
比如,?引數名=引數值&引數名=引數值.....
http://localhost/test/index.php?引數名=引數值
在伺服器端(請求的php檔案這邊)可以通過$_GET來獲取$_GET索引值為引數名,索引值對應的資料就是引數值,
適合傳一些簡單的、小的值
- post 方式
比如表單 post傳送過來的,可以通過 $_post獲取到
注:
php中許多預定義變數都是超全域性的,這意味著它們在一個指令碼的全部作用域中國都可以用,
在函式或方法中無需執行global $variable; 就可以訪問它們,這些超全域性變數是:
$GLOBALS
$_SERVER
$_GET
$_POST
$_FILES
$_COOKIE
$_SESSION
$_REQUEST
$_ENV
<form method="get"> 姓名:<input type="text" name="username"/><br/> 性別:<input type="text" name="sex"/><br/> <input type="text" name="ROBIN.FANG"/> <input type="submit" value="提交"/> </form>
處理陣列的相關函式
//1.統計陣列中元素重複的個數 array_count_values $array=array(1,"hello",1,"world","hello"); $array=array_count_values($array); //函式返回陣列型別的資料 print_r($array); //原來的陣列不會受到影響 //2.檢查陣列是否用到這個索引值 <?php $search_array=array('first'=>1,'second'=>4); var_dump(array_key_exists('ROBIN.FANG',$search_array)); ?> //鍵名就是索引值 //3.查詢內容 array_search $array=array(0=>"blue",1=>"red",2=>"green",3=>"red",4=>15); var_dump(array_search('15',$array)); //4. count $array=array(0=>'blue',1='red',2=>'green',3=>'red',4=>15); var_dump(count($array)); //5. int_array $os=array("Mac","NT","lrix","Linux"); var_dump(in_array("Max",$os)); //6. list $arr=array(60,80,100); list($Robin,$xiaohong,$xiaoming)=array(60,80,100); echo $Robin; //7. asort $student=array( 'Robin'=>60, 'Lilei'=>80, 'hanmei'=>100, 'zhangshan'=>90 ) asort($student); print_r($students); //直接對數組裡的資料排序,第二個引數 SORT_REGULAR 正常比較單元(不改變型別) SORT_NUMERIC 單元被作為 SORT_STRING 單元被作為字串來比較 SORT_LOCALE_STRING 根據當前的區域(locale)設定來把單元當作字元比較 //8. array_filter function odd($var){ return($var %2==1); } function even($var){ return($var%2==0); } $array1=array("a"=>1,"b"=>2,"c"=>3,"d"=>4,"e"=>5); $array2=array(6,7,8,9,10,11,12); echo"odd:"; print_r(array_filter($array1,"odd")); echo"Even:"; print_r(array_filter($array2,"even"));