<?php
/*
* 數組是一組數據的集合。數組的每個實體包括鍵和值2部分組成。
* 鍵:可以用數字、字符串或者數字和字符串的組合作鍵來標識數組中相應的值
* 值:也被稱爲數組中的元素,可以是任意數據類型,甚至是混合類型
* 1、數組類型
* 2、數組創建
* 3、數組輸出
* 4、數組構造
* 5、數組遍歷
* 6、全局數組
* 7、數組函數
*/
/*
* 數組類型
* 類型1:數字索引數組--用數字作爲鍵
* 類型2:關聯數組--使用字符串或者數字和字符串混合爲鍵
*/
//舉例略掉,下面數組創建中有描述
/*
* 數組創建
*/
//通過PHP函數創建數組
//函數array
//語法1:array array_name(key1=>value1,key2=>value2,...) 其中,key爲字符串或數字鍵值
//語法2:array array_name(value1,value2,...) 默認鍵值爲數字且從0開始
$array1=array('first'=>'再','second'=>'見','third'=>'!');
print_r($array1);
echo '<br>';
echo $array1['first'];
echo '<br>';
$array2=array('妥','妥','的');
print_r($array2);
echo '<br>';
echo $array2[2];
echo '<p>';
//通過數組標識符'[]'創建數組
$array3[0]="古";
$array3[1]="劍";
$array3[2]="奇";
$array3[3]="譚";
print_r($array3);
echo '<p>';
/*
* 數組輸出
* 情況1:只輸出數組中某一個元素。print/echo/print_r,其中print_r此時作用與print相同,建議直接使用print_r
* 情況2:輸出數組結構中所有元素。print_r/var_dump都可以
* 注意1:print_r函數,語法:bool print_r(mixed expr);參數爲數組時,則按照鍵值和元素的順序顯示該數組中的所有元素
* 注意2:var_dump函數,語法:void var_dump(mixed expr[,mixed expr[,...]]);可以輸出數組或對象,而且還附帶輸出元素個數
* 每個字符串的長度,並且能夠以縮進方式輸出數組或對象的結構
*/
$array5=array('f1'=>'忠','f2'=>'奸','f3'=>'人');
print_r($array5);
echo '<br>';
var_dump($array5);
echo '<p>';
/*
* 數組的構造
* 一維數組:數組元素爲變量時
* 二維數組:數組元素又爲一維數組時
* ....
*
*/
//一維數組舉例省略
//二維數組,與java二維數組相比,靈活性高
$array_x_y=array(
'x1'=>array('PHP','Java','html'),
'x2'=>array('y1'=>'css','y2'=>'c++'),
'x3'=>array(0=>'JSP','one'=>'Android','two'=>'Mac')
);
print_r($array_x_y);
echo '<p>';
/*
* 數組遍歷
* 方法1:foreach結構:實質並非操作數組本身,而是數組的一個備份
* 方法2:for語句:前提是需要利用count函數獲取數組元素中勻速的數目,然後將它作爲for的循環條件
*
*/
$web_name=array('vip','taobao','jingdong');
$web_url=array('www.vip.com','www.taobao.com','www.jingdong.com');
//foreach語法:foreach(array_name as $key=>$value)
foreach($web_name as $key=>$value)
{
echo $value.'--'.$web_url[$key].'<br><br>';
}
echo '<p>';
//for語句
for($i=0;$i<count($web_name);$i++)
{
echo $web_name[$i].'--'.$web_url[$i].'<br><br>';
}
echo '<p>';
/*
* 全局數組:PHP提供了一些全局數組,可以獲得大量與環境有關的信息
* 1、$_SERVER[],是由Web服務器創建的信息,應用該數組可以獲取服務器和客戶配置以及當前請求信息
* 2、$_GET[]和$_POST[]:分別用來接受GET和POST方法傳遞到當前頁面的數據
* 3、$_COOKIE[]:存儲通過http cookie傳遞到腳本的信息
* 4、$_ENV[]:用於提供與服務器有關的信息
* 5、$_REQUEST[]:獲取GET方法、POST方法和http cookie傳遞到腳本的信息。當我們不知道通過什麼方法提交數據時,
* 那麼就可以通過該方法獲取提交到當前頁面的數據
* 6、$_SESSION[]:用於獲取會話變量相關的信息
* 7、$_FILES[]:一個多維的全局數組,用於獲取通過POST方法上傳文件時的相關信息。如果爲單件上傳,則該數組爲二維數組,
* 如果爲多文件上傳,則該數組爲三維數組
*/
//列舉1~2個例子,其他的略過
echo '當前服務器IP地址:'.$_SERVER['SERVER_ADDR'].'<br><br>';
echo '客戶端IP地址:'.$_SERVER['REMOTE_ADDR'].'<br><br>';
echo '<p>';
/*
* 數組函數:一些關於數組實用功能操作的封裝成的函數模塊
* 1、統計數組元素個數:int count()
* 2、向數組中添加元素:int array_push()
* 3、獲取數組中最後一個元素:array_pop()
* 4、刪除數組中重複元素:array_unique()
* 5、獲取數組中指定元素的鍵名:array_search()和array_keys()
*
*/
// 統計數組元素個數
//語法:int count(array array_name[,int mode])
//參數array_name指定數組對象,參數mode爲可選參數,默認值爲0,如果mode的值設置爲COUNT_RECURSIVE(或1),count()
//函數檢測多維數組,該函數返回數組元素個數
$array_count=array('數碼','家電','電腦');
echo count($array_count);
echo '<p>';
//向數組中添加元素:將傳入的元素添加到某個數組的末尾
//語法:int array_push(array array_name,mixed var[,mixed...])
//參數array_name爲操作數組對象,參數var爲要加入數組的值,返回值爲數組新的元素總數
$array_put=array('文學','科幻');
print_r($array_put);
echo '<br>';
echo array_push($array_put,'哲學','政治');
echo '<br>';
print_r($array_put);
echo '<p>';
//獲取數組中最後一個元素:獲取並返回數組中的最後一個元素,並將數組的長度減1
//語法:mixed array_pop(array array_name)
//array_name爲目標數組,返回值爲取到的數組最後一個元素
$array_last=array_pop($array_put);
echo $array_last;
echo '<p>';
//刪除數組中重複元素:將數組元素的值作爲字符串排序,然後對每個值只保留第一個鍵名,
//忽略所有後面的鍵名,即刪除數組中重複的元素
//語法:array array_unique(array array)
//參數array爲操作數組,返回值爲處理後不含重複元素的數組
$array_repeat=array('a','a','c','d','a');
print_r($array_repeat);
echo '<br>';
$result=array_unique($array_repeat);
print_r($result);
echo '<p>';
//獲取數組中指定元素的鍵名
//array_search函數:可以獲取數組中指定元素的鍵名。語法:mixed array_search(mixed needle,array haystack[,bool strict])
//needle指定在數組中要搜索的值,haystack指定被搜索的數組,strict爲可選參數,如果爲true,還會在haystack檢查needle的類型
//······
//array_keys函數:獲取數組中重複元素的所有鍵名
//語法:array array_keys(array array[,mixed search_value[,bool strict]])
//參數array爲目標數組,search_value可選參數,可以指定只返回該值的所有鍵名..
$array_sea=array('核桃','山楂','柑橘');
$key_name=array_search('山楂',$array_sea);
echo $key_name;
echo '<br>';
$array_key=array('蜘蛛俠','超人','鋼鐵俠','超人');
$key_names=array_keys($array_key,'超人');
print_r($key_names);
?>
PHP數組介紹與使用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.