本文實(shí)例總結(jié)了PHP數(shù)組用法。分享給大家供大家參考,具體如下:
Demo1.php
<?php //創(chuàng)建一個(gè)數(shù)組變量 $userNames = array('張三','李四','王五'); //將這個(gè)數(shù)組打印出來(lái)// echo $userNames;//Array// $userName = '張三';// echo $userName;//張三 //如果你想打印出這個(gè)數(shù)組的某一個(gè)元素 //那你必須找到這個(gè)元素的下標(biāo),鍵(key) //0,1,2 //echo $userNames[2];//王五 //print_r -- 打印關(guān)于變量的易于理解的信息。 //print_r($userNames);//Array ( [0] => 張三 [1] => 李四 [2] => 王五 ) //$userNames 是一個(gè)數(shù)組變量,而 $userNames[x] 可以理解成數(shù)組變量下的小變量 $userNames[4] = '趙七'; print_r($userNames);//Array ( [0] => 張三 [1] => 李四 [2] => 王五 [4] => 趙七 )?>Demo2.php
<?php //range -- 建立一個(gè)包含指定范圍單元的數(shù)組 //range 包含指定數(shù)組 //包含兩種東西,一種叫做鍵(key),一種叫做值(value) //key 是自動(dòng)生成的,默認(rèn)從 0 開始,每次 +1 //value 是你自己賦值的 //$numbers = range(1,4); //print_r($numbers); //Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )// $letters = range('a','e');// print_r($letters);//Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )// echo $letters[3];?>Demo3.php
<?php $userNames = array('張三','李四','王五'); //通過(guò)循環(huán)來(lái)顯示數(shù)組里的所有值 //從 0-5 之間循環(huán)// for($i=0;$i<3;$i++){// echo ($i+1).'-->'.$userNames[$i].'<br/>';// } /* * 1-->張三 * 2-->李四 * 3-->王五 * */// echo count($userNames); //3// for($i=0;$i<count($userNames);$i++){// echo ($i+1).'-->'.$userNames[$i].'<br/>';// } //如果 key 不是從 0 開始,或者說(shuō),壓根不是數(shù)字,那么就無(wú)法用無(wú)精打采循環(huán)來(lái)實(shí)現(xiàn)顯示數(shù)據(jù)列表 //通過(guò) foreach 循環(huán)來(lái)遍歷數(shù)組,這方式好處,不需要去考慮 key// foreach ($userNames as $value){// echo $value.'<br/>';// } //foreach 遍歷 $key => $value// foreach ($userNames as $keyaaa => $value){// echo $keyaaa.'-->'.$value.'<br/>';// } /** * 0-->張三 * 1-->李四 * 2-->王五 * */ //所以,你要先做個(gè)判斷 if(is_array($userNames)){ foreach ($userNames as $key => $value){ echo $key.'-->'.$value.'<br/>'; } }else{ echo $userNames; }?>Demo4.php
<?php $userNames = array('張三','李四','王五'); print_r($userNames); echo $userNames[0];?>Demo5.php
<?php //創(chuàng)建自定義鍵(key)的數(shù)組 //如果你不去聲明元素的 key ,那么從開始 0 計(jì)算// $userNames = array('baidu'=>'張三','李四','王五');// print_r($userNames); //Array ( [baidu] => 張三 [0] => 李四 [1] => 王五 ) $userNames = array('baidu'=>'張三','taobao'=>'李四','360'=>'王五'); print_r($userNames); //Array ( [baidu] => 張三 [taobao] => 李四 [360] => 王五 ) echo $userNames['baidu'];?>Demo6.php
<?php //先創(chuàng)建只一個(gè)元素的數(shù)組 $userAge = array('chaoyv'=>25); //打印出 chaoyv 的年齡 //echo $userAge['chaoyv']; //25 //將以前的數(shù)組,追加兩條,這里說(shuō)的下標(biāo),鍵,key 是一個(gè)東西 $userAge['yike'] = 30; $userAge['wife'] = 24; print_r($userAge);?>Demo7.php
<?php //array 關(guān)鍵字都可以不要,就能創(chuàng)建數(shù)組 $userAges['chaoyv'] = 25; //print_r($userAges); //Array ( [chaoyv] => 25 ) $userAges['yike'] = 30; $userAges['wife'] = 24; //print_r($userAges); //Array ( [chaoyv] => 25 [yike] => 30 [wife] => 24 ) //這里無(wú)法使用 for 循環(huán)將數(shù)據(jù)全部顯示出來(lái),只能通過(guò) foreach 遍歷出來(lái) foreach ($userAges as $value){ echo $value.'<br/>'; }?>Demo8.php
<?php// $userAges['chaoyv'] = 25;// $userAges['yike'] = 30;// $userAges['wife'] = 24; $username = array('世'=>'何開','血'=>'趙血兒','學(xué)'=>'墨學(xué)之'); //print_r($username); //each 的使用 //each -- 返回?cái)?shù)組中當(dāng)前的鍵/值對(duì)并將數(shù)組指針向前移動(dòng)一步 //這里有一個(gè)指針,默認(rèn)情況下,指針是指定第一個(gè)鍵值對(duì) //這里的第一個(gè)鍵值對(duì)是 '世'=>'何開' //如果each($username),那么獲取的就是第一個(gè)鍵值對(duì) '世'=>'何開' //each 這個(gè)函數(shù)返回的是一個(gè)數(shù)組, //each 將第一個(gè)鍵值對(duì)獲取到,然后包裝成一個(gè)新的數(shù)組。 //print_r(each($username)); //相當(dāng)于 $a = Array ( [1] => 何開 [value] => 何開 [0] => 世 [key] => 世 ) //$a = each($username); //echo $a[value]; print_r(each($username)); echo '<br/>'; print_r(each($username));?>Demo9.php
<?php $username = array('世'=>'何開','血'=>'趙血兒','學(xué)'=>'墨學(xué)之'); //這里,我們?cè)趺词褂?each 來(lái)循環(huán)所有的數(shù)據(jù)呢? //相當(dāng)于 $a = Array ( [1] => 何開 [value] => 何開 [0] => 世 [key] => 世 ) //兩個(gè)感嘆號(hào),表示真是存在的數(shù)據(jù)轉(zhuǎn)換成布爾值// echo !!each($username);//說(shuō)明有數(shù)據(jù),有數(shù)據(jù),用布爾值的理念就是真(true)// echo !!each($username);// echo !!each($username);// echo !!each($username);//第四個(gè)是假的 while (!!$a = each($username)){ echo $a['key'].'-->'.$a['value'].'<br/>'; }// $a = each($username);// echo $a[0].'---'.$a[1].'<br/>';// $a = each($username);// echo $a[0].'---'.$a[1].'<br/>';// $a = each($username);// echo $a[0].'---'.$a[1].'<br/>';// /**// * 世---何開// * 血---趙血兒// * 學(xué)---墨學(xué)之// * */?>Demo10.php
<?php// $usernames = array('世'=>'何開','血'=>'趙血兒','學(xué)'=>'墨學(xué)之');// $a = each($usernames);// //世-->何開// echo $a['key'];// echo '-->';// echo $a['value'];// $a = each($usernames);// //血-->趙血兒// echo $a['key'];// echo '-->';// echo $a['value'];// //list -- 把數(shù)組中的值賦給一些變量// $a = array('aaa','bbb','ccc','ddd');//// print_r($a);//Array ( [0] => aaa [1] => bbb [2] => ccc [3] => ddd )// list($var1,$var2,$var3,$var4) = $a;// echo $var4;// $usernames = array(0=>'何開','血'=>'趙血兒','學(xué)'=>'墨學(xué)之');// //list 只能認(rèn)識(shí) key 為數(shù)字的// //自定義的字符串 key 是無(wú)法使用 list 來(lái)識(shí)別的// list($a,$b,$c) = $usernames;// echo $a;//何開 $usernames = array('世'=>'何開','血'=>'趙血兒','學(xué)'=>'墨學(xué)之'); //相當(dāng)于 $a = Array ( [1] => 何開 [value] => 何開 [0] => 世 [key] => 世 ) list($name,$username) = each($usernames); echo $username;?>Demo11.php
<?php $usernames = array('世'=>'何開','血'=>'趙血兒','學(xué)'=>'墨學(xué)之'); $a =each($usernames); echo $a[key]; $a =each($usernames); echo $a[key]; //第三次,我想取數(shù)組的第一條數(shù)組 //只要將數(shù)組的指針調(diào)整到第一個(gè)位置即可 //reset -- 將數(shù)組的內(nèi)部指針指向第一個(gè)單元 reset($usernames); $a = each($usernames); echo $a[key]; //世血世?>Demo12.php
<?php// $usernames = array('世'=>'何開','境'=>'何開','血'=>'趙血兒','學(xué)'=>'墨學(xué)之');// print_r($usernames);// echo '<br/>';// //array_unique -- 移除數(shù)組中重復(fù)的值// //創(chuàng)建了一個(gè)新數(shù)組,而新數(shù)組呢,已經(jīng)移除掉了,舊的數(shù)組原封不動(dòng)// $a = array_unique($usernames);// print_r($a); $numbers = array(1,24,2,1,3,4,2,6,4,2,4,56,2,4,5); print_r($numbers); $newNumbers = array_unique($numbers); print_r($newNumbers);?>Demo13.php
<?php $usernames = array('世'=>'何開','境'=>'何開','血'=>'趙血兒','學(xué)'=>'墨學(xué)之'); print_r($usernames); echo '<br/>'; //array_flip -- 交換數(shù)組中的鍵和值 $newUsernames = array_flip($usernames); print_r($newUsernames); /** * Array ( [世] => 何開 [境] => 何開 [血] => 趙血兒 [學(xué)] => 墨學(xué)之 ) * Array ( [何開] => 境 [趙血兒] => 血 [墨學(xué)之] => 學(xué) ) * */?>Demo14.php
<?php //創(chuàng)建一個(gè)單一的數(shù)組 $products = array( array('蘋果','6','28.8'), array('豬肉','2','18.8'), array('餅干','4','48.8') ); //print_r($products); //將 $products 第一條元素取出來(lái) //print_r($products[2]); //數(shù)組里的數(shù)組 echo "|".$products[0][0]."|".$products[0][1]."|".$products[0][2]."|<br />"; echo "|".$products[1][0]."|".$products[1][1]."|".$products[1][2]."|<br />"; echo "|".$products[2][0]."|".$products[2][1]."|".$products[2][2]."|<br />";?>Demo15.php
<?php //創(chuàng)建一個(gè)單一的數(shù)組 $products = array( array('蘋果','6','28.8'), array('豬肉','2','18.8'), array('餅干','4','48.8') ); //首先要求出外面數(shù)組的長(zhǎng)度 //echo count($products); for($i=0; $i<count($products);$i++){ for($j=0;$j<count($products[$i]);$j++){ echo '|'.$products[$i][$j]; } echo "|<br/>"; } /* * |蘋果|6|28.8| * |豬肉|2|18.8| * |餅干|4|48.8| * **/?>Demo16.php
<?php //創(chuàng)建一個(gè)單一的數(shù)組 $products = array( array('產(chǎn)品'=>'蘋果','數(shù)量'=>'6','價(jià)格'=>'28.8'), array('產(chǎn)品'=>'豬肉','數(shù)量'=>'3','價(jià)格'=>'25.8'), array('產(chǎn)品'=>'餅干','數(shù)量'=>'2','價(jià)格'=>'26.8') ); //print_r($products) ;// for($i=0;$i<count($products);$i++){// foreach ($products[$i] as $key => $value){// echo $key.'--'.$value.'|';// }// echo '<br/>';// } for($i=0;$i<count($products);$i++){ while (!!list($key,$value)=each($products[$i])){ echo $key.'--'.$value.'|'; } echo '<br/>'; } /** * 產(chǎn)品--蘋果|數(shù)量--6|價(jià)格--28.8| * 產(chǎn)品--豬肉|數(shù)量--3|價(jià)格--25.8| * 產(chǎn)品--餅干|數(shù)量--2|價(jià)格--26.8| * */?>Demo17.php
<?php// //sort -- 對(duì)數(shù)組排序// $fruit = array('banner','orange','apple');// //沒(méi)有排序前,一般是按照 key 的順序進(jìn)行顯示// //print_r($fruit);// //排序之后// sort($fruit);// print_r($fruit); $numbers = array(45,44,27,574,241,7,45,1,5,2,4,5); print_r($numbers); rsort($numbers); echo '<br/>'; print_r($numbers); //按照數(shù)字的話,要看整體的數(shù)字的大小,按照字符串的話,只看第一位大小// $numbers = array(2,12,3);// sort($numbers,SORT_NUMERIC);// print_r($numbers);Array ( [0] => 2 [1] => 3 [2] => 12 )// $numbers = array(2,12,3);// sort($numbers,SORT_STRING);// print_r($numbers);//Array ( [0] => 12 [1] => 2 [2] => 3 )?>Demo18.php
<?php//asort -- 對(duì)數(shù)組進(jìn)行排序并保持索引關(guān)系 $fruit = array('banner','orange','apple');// sort($fruit);// print_r($fruit); //Array ( [0] => apple [1] => banner [2] => orange ) asort($fruit); print_r($fruit); //Array ( [2] => apple [0] => banner [1] => orange )?>Demo19.php
<?php $fruit = array('b'=>'banner','o'=>'orange','a'=>'apple'); //ksort -- 對(duì)數(shù)組按照鍵名排序 ksort($fruit) ; print_r($fruit); //Array ( [a] => apple [b] => banner [o] => orange )?>Demo20.php
<?php //echo '<img src="images/mm1.jpg" />'; //創(chuàng)建一個(gè)數(shù)組 $pic = array('mm1.jpg','mm2.jpg','mm3.jpg','mm4.jpg','mm5.jpg'); //數(shù)組進(jìn)行隨機(jī)打亂 //shuffle($pic); //多數(shù)組進(jìn)行反向排序,array 打頭的函數(shù),一般會(huì)創(chuàng)建一個(gè)新數(shù)組 $a = array_reverse($pic); for($i=0;$i<3;$i++){ echo '<img src="images/'.$a[$i].'" style="margin:10px;" />'; echo "/n"; }?>Demo21.php
<?php $userName = array('張三'); print_r($userName); //這個(gè)函數(shù)的返回值將得到 ,目前數(shù)組的元素個(gè)數(shù) //array_unshift -- 在數(shù)組開頭插入一個(gè)或多個(gè)單元 //在開頭插入數(shù)據(jù) array_unshift($userName,'李四') ; //在結(jié)尾插入數(shù)據(jù) array_push($userName,'吳者然'); //刪除開頭的元素 array_shift($userName); //刪除結(jié)尾的元素 array_pop($userName); print_r($userName);?>Demo22.php
<?php $fruit = array('banner','orange','apple'); //這個(gè)函數(shù)用來(lái)獲取一個(gè)數(shù)組中的鍵(key) //第二個(gè)參數(shù)表明隨即獲取幾個(gè)// $a = array_rand($fruit,1);// echo $fruit[$a]; $a = array_rand($fruit,2); echo $fruit[$a[0]].' '.$fruit[$a[1]];?>Demo23.php
<?php $username = array('世'=>'何開','血'=>'趙血兒','學(xué)'=>'墨學(xué)之'); //默認(rèn)情況下,指針在第一條數(shù)據(jù) //獲取指針的當(dāng)前元素,current 并沒(méi)有將指針移到下一步// echo current($username);// echo current($username);// echo current($username);// echo next($username);// echo current($username);// echo next($username);// echo current($username);// //reset -- 將數(shù)組的內(nèi)部指針指向第一個(gè)單元// echo reset($username);// echo sizeof($username);//count $numbers = array(1,4,5,656,7,5,7,4,7,4,5,7); //array_count_values -- 統(tǒng)計(jì)數(shù)組中所有的值出現(xiàn)的次數(shù) print_r(array_count_values($numbers));?>Demo24.php
<?php $a=$b=$c=''; $fruits = array('a'=>'apple','b'=>'banner','c'=>'orange'); //通過(guò)標(biāo)量函數(shù)將字符串鍵(key)設(shè)置成變量,然后將值賦給了這個(gè)變量 extract($fruits); echo $a; echo $c; echo $b; //appleorangebanner?>希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選