比較全面的PHP數(shù)組的使用方法小結(jié)
數(shù)組就是一組數(shù)據(jù)的集合,把一系列數(shù)據(jù)組織起來,形成一個(gè)可操作的整體。數(shù)組的每個(gè)實(shí)體都包含兩項(xiàng):鍵和值。
二、聲明數(shù)據(jù)
在PHP中聲明數(shù)組的方式主要有兩種:
一是應(yīng)用array()函數(shù)聲明數(shù)組,
一是直接為數(shù)組元素賦值。飛飛Asp!技術(shù)樂園
<1>array()函數(shù)聲明的數(shù)組的方式array([mixed...]) 參數(shù)mixed的語法為key=>value
如,
<?php
$array=array("1"=>"編","2"=>"程","3"=>"詞","4"=>"典");
print_r($array);
echo "<br>";
echo $array[1]; //注意:下標(biāo)默認(rèn)是從0開始
echo $array[2];
echo $array[3];
echo $array[4];
?>
<2>直接為數(shù)組元素賦值。
如果在創(chuàng)建數(shù)組時(shí)不知所創(chuàng)建數(shù)組的大小,或在實(shí)際編寫程序時(shí)數(shù)組的大小可能發(fā)生變化,采用這種數(shù)組創(chuàng)建的方法較好。
如,
<?php
$array[1]="I";
$array[2]="love";
$array[3]="PHP";
print_r($array); //輸出所創(chuàng)建數(shù)組的結(jié)構(gòu)
?>
三、數(shù)組的類型
PHP支持兩種數(shù)組:索引數(shù)組(indexed array)和聯(lián)合數(shù)組(associative array),前者使用數(shù)字作為鍵,后者使用字符串作為鍵。
四、輸出數(shù)組
在PHP中對(duì)數(shù)組元素輸出,可以通過echo和print語句來實(shí)現(xiàn),但這只能對(duì)數(shù)組中某一元素進(jìn)行輸出;要將數(shù)組結(jié)構(gòu)輸出則要使用print_r()函數(shù),其語法:print_r(mixed expression),參數(shù)expression為普通的整形、字符型或?qū)嵭妥兞縿t輸出該變量本身,如果該參數(shù)為數(shù)組,則按一定鍵值和元素的順序顯示出該數(shù)組中的所有元素。
五、數(shù)組的構(gòu)造
一維數(shù)組:
當(dāng)一個(gè)數(shù)組的元素是變量時(shí),則稱其為一維數(shù)組。飛飛As.p技術(shù)樂園
聲明一位數(shù)組: 類型說明符 數(shù)組名[常量表達(dá)式];
二維數(shù)組:
當(dāng)一個(gè)數(shù)組的元素是一個(gè)一位數(shù)組時(shí),則稱之為二維數(shù)組。
如,
<?php
$str = array (
"網(wǎng)絡(luò)編程語言"=>array ("PHP","JSP","ASP"),
"體育項(xiàng)目"=>array ("m"=>"足球","n"=>"籃球"));
print_r ( $str) ;
?>
六、遍歷數(shù)組
遍歷數(shù)組中的所有元素是常用的一種操作,在遍歷的過程中可以完成查詢或其他功能。在PHP中遍歷數(shù)組的方法有多種,下面介紹最常用的兩種方法。
<1>使用foreach結(jié)構(gòu)遍歷數(shù)組;
<2>使用list()函數(shù)遍歷數(shù)組,list()函數(shù)僅能用于數(shù)字索引的數(shù)組,且數(shù)字索引從0開始。
例:綜合使用list()和each()認(rèn)證用戶登錄:
<?php
//輸出用戶登錄信息
while(list($name,$value)=each($_POST)){
if($name!="submit"){
echo "$name=$value<br>";
}
}
?>
七、統(tǒng)計(jì)數(shù)組元素個(gè)數(shù)
在PHP中,使用count()函數(shù)對(duì)數(shù)組中的元素個(gè)數(shù)進(jìn)行統(tǒng)計(jì),語法為:int coun(mixed array[,int mode]),其中參數(shù)array為必要參數(shù),mode為可選參數(shù),若選中COUNT——RECURSIVE(或1),本函數(shù)將遞歸地對(duì)數(shù)組數(shù)組。如,
<?php
$array = array("php" => array("PHP函數(shù)參考大全","PHP程序開發(fā)范例寶典","PHP數(shù)據(jù)庫系統(tǒng)開發(fā)完全手冊(cè)"),
"asp" => array("ASP經(jīng)驗(yàn)技巧寶典")
); //聲明一個(gè)二維數(shù)組
echo count($array,COUNT_RECURSIVE);//遞歸統(tǒng)計(jì)數(shù)組元素的個(gè)數(shù),運(yùn)行結(jié)果為6
?>
八、數(shù)組排序
<1>使用sort()和rsort()分別對(duì)數(shù)組進(jìn)行升序和降序,如,
<?php
$array=array(5,26,37,18,9,42,88,66);
$array1=sort($array);
for($i=0;$i<count($array);$i++){
echo $array[$i]." ";
}
echo "<br>";
$array1=rsort($array);
for($i=0;$i<count($array);$i++){
echo $array[$i]." ";
}
?>
運(yùn)行結(jié)果:
5 9 18 26 37 42 66 88
88 66 42 37 26 18 9 5
<2>使用ksort()和asort()對(duì)關(guān)聯(lián)數(shù)組排序
如果使用了相關(guān)數(shù)組,在排序后還要保持關(guān)鍵字和值的排序一致,這是就需要使用ksort()和asort()函
數(shù),如,
<?php
$array=array('php'=>1,'jsp'=>2,'asp'=>3);
ksort($array);
print_r($array);
echo "<br>";
asort($array);
print_r($array);
?>
運(yùn)行結(jié)果:
Array ( [asp] => 3 [jsp] => 2 [php] => 1 )
Array ( [php] => 1 [jsp] => 2 [asp] => 3 )
相關(guān)文章
php 如何設(shè)置一個(gè)嚴(yán)格控制過期時(shí)間的session
本篇文章主要介紹了php設(shè)置一個(gè)嚴(yán)格控制過期時(shí)間的session的方法,具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-05-05PHP cookie,session的使用與用戶自動(dòng)登錄功能實(shí)現(xiàn)方法分析
這篇文章主要介紹了PHP cookie,session的使用與用戶自動(dòng)登錄功能實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了php使用cookie與session進(jìn)行數(shù)據(jù)存取以及實(shí)現(xiàn)自動(dòng)登陸功能的相關(guān)操作技巧,需要的朋友可以參考下2019-06-06解決PHP4.0 和 PHP5.0類構(gòu)造函數(shù)的兼容問題
以下是對(duì)解決PHP4.0和PHP5.0類構(gòu)造函數(shù)兼容問題的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考一下2013-08-08PHP之將POST數(shù)據(jù)轉(zhuǎn)化為字符串的實(shí)現(xiàn)代碼
今天來分享一個(gè)方便我們做LOG日志記錄的自定義函數(shù),需要將POST數(shù)據(jù)轉(zhuǎn)化為字符串,需要的朋友可以參考下2016-11-11PHP判斷一個(gè)數(shù)組是另一個(gè)數(shù)組子集的方法詳解
這篇文章主要介紹了PHP判斷一個(gè)數(shù)組是另一個(gè)數(shù)組子集的方法,結(jié)合實(shí)例形式分析了php循環(huán)遍歷、array_diff及array_intersect函數(shù)等方法實(shí)現(xiàn)數(shù)組子集判斷的相關(guān)操作技巧,需要的朋友可以參考下2017-07-07PHP錯(cuò)誤Parse error: syntax error, unexpected end of file in te
這篇文章主要介紹了PHP錯(cuò)誤Parse error: syntax error, unexpected end of file in test.php on line 12解決方法,需要的朋友可以參考下2014-06-06淺談php中fopen不能創(chuàng)建中文文件名文件的問題
下面小編就為大家?guī)硪黄獪\談php中fopen不能創(chuàng)建中文文件名文件的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02