1. 程式人生 > >第五章 php陣列(預定義超全域性陣列、處理陣列的相關函式)

第五章 php陣列(預定義超全域性陣列、處理陣列的相關函式)

預定義超全域性陣列變數:

已經定義好了的變數(存放的資料型別是陣列)

超全域性:超級全域性變數,作用域(有效區域)

 

傳遞資料(提交資料)給伺服器端主要有兩種方式:

  • 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"));