PHP入門(mén)教程之?dāng)?shù)組用法匯總(創(chuàng)建,刪除,遍歷,排序等)
本文實(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 開(kāi)始,每次 +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 開(kāi)始,或者說(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 ,那么從開(kāi)始 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('世'=>'何開(kāi)','血'=>'趙血兒','學(xué)'=>'墨學(xué)之'); //print_r($username); //each 的使用 //each -- 返回?cái)?shù)組中當(dāng)前的鍵/值對(duì)并將數(shù)組指針向前移動(dòng)一步 //這里有一個(gè)指針,默認(rèn)情況下,指針是指定第一個(gè)鍵值對(duì) //這里的第一個(gè)鍵值對(duì)是 '世'=>'何開(kāi)' //如果each($username),那么獲取的就是第一個(gè)鍵值對(duì) '世'=>'何開(kāi)' //each 這個(gè)函數(shù)返回的是一個(gè)數(shù)組, //each 將第一個(gè)鍵值對(duì)獲取到,然后包裝成一個(gè)新的數(shù)組。 //print_r(each($username)); //相當(dāng)于 $a = Array ( [1] => 何開(kāi) [value] => 何開(kāi) [0] => 世 [key] => 世 ) //$a = each($username); //echo $a[value]; print_r(each($username)); echo '<br/>'; print_r(each($username)); ?>
Demo9.php
<?php $username = array('世'=>'何開(kāi)','血'=>'趙血兒','學(xué)'=>'墨學(xué)之'); //這里,我們?cè)趺词褂?each 來(lái)循環(huán)所有的數(shù)據(jù)呢? //相當(dāng)于 $a = Array ( [1] => 何開(kāi) [value] => 何開(kāi) [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/>'; // /** // * 世---何開(kāi) // * 血---趙血兒 // * 學(xué)---墨學(xué)之 // * */ ?>
Demo10.php
<?php // $usernames = array('世'=>'何開(kāi)','血'=>'趙血兒','學(xué)'=>'墨學(xué)之'); // $a = each($usernames); // //世-->何開(kāi) // 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=>'何開(kāi)','血'=>'趙血兒','學(xué)'=>'墨學(xué)之'); // //list 只能認(rèn)識(shí) key 為數(shù)字的 // //自定義的字符串 key 是無(wú)法使用 list 來(lái)識(shí)別的 // list($a,$b,$c) = $usernames; // echo $a;//何開(kāi) $usernames = array('世'=>'何開(kāi)','血'=>'趙血兒','學(xué)'=>'墨學(xué)之'); //相當(dāng)于 $a = Array ( [1] => 何開(kāi) [value] => 何開(kāi) [0] => 世 [key] => 世 ) list($name,$username) = each($usernames); echo $username; ?>
Demo11.php
<?php $usernames = array('世'=>'何開(kāi)','血'=>'趙血兒','學(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('世'=>'何開(kāi)','境'=>'何開(kāi)','血'=>'趙血兒','學(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('世'=>'何開(kāi)','境'=>'何開(kāi)','血'=>'趙血兒','學(xué)'=>'墨學(xué)之'); print_r($usernames); echo '<br/>'; //array_flip -- 交換數(shù)組中的鍵和值 $newUsernames = array_flip($usernames); print_r($newUsernames); /** * Array ( [世] => 何開(kāi) [境] => 何開(kāi) [血] => 趙血兒 [學(xué)] => 墨學(xué)之 ) * Array ( [何開(kāi)] => 境 [趙血兒] => 血 [墨學(xué)之] => 學(xué) ) * */ ?>
Demo14.php
<?php //創(chuàng)建一個(gè)單一的數(shù)組 $products = array( array('蘋(píng)果','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('蘋(píng)果','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/>"; } /* * |蘋(píng)果|6|28.8| * |豬肉|2|18.8| * |餅干|4|48.8| * **/ ?>
Demo16.php
<?php //創(chuàng)建一個(gè)單一的數(shù)組 $products = array( array('產(chǎn)品'=>'蘋(píng)果','數(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)品--蘋(píng)果|數(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ù)字的話(huà),要看整體的數(shù)字的大小,按照字符串的話(huà),只看第一位大小 // $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ù)組開(kāi)頭插入一個(gè)或多個(gè)單元 //在開(kāi)頭插入數(shù)據(jù) array_unshift($userName,'李四') ; //在結(jié)尾插入數(shù)據(jù) array_push($userName,'吳者然'); //刪除開(kāi)頭的元素 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('世'=>'何開(kāi)','血'=>'趙血兒','學(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 ?>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語(yǔ)法入門(mén)教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- PHP 數(shù)組和字符串互相轉(zhuǎn)換實(shí)現(xiàn)方法
- PHP刪除數(shù)組中的特定元素的代碼
- php獲取數(shù)組長(zhǎng)度的方法(有實(shí)例)
- PHP中數(shù)組合并的兩種方法及區(qū)別介紹
- php數(shù)組函數(shù)序列之a(chǎn)rray_unique() - 去除數(shù)組中重復(fù)的元素值
- PHP 數(shù)組排序方法總結(jié) 推薦收藏
- PHP數(shù)組操作匯總 php數(shù)組的使用技巧
- PHP合并數(shù)組+與array_merge的區(qū)別分析
- php數(shù)組(array)輸出的三種形式詳解
- php中利用explode函數(shù)分割字符串到數(shù)組
- PHP遍歷數(shù)組的方法匯總
- PHP 數(shù)組遍歷方法大全(foreach,list,each)
- php數(shù)組添加元素方法小結(jié)
相關(guān)文章
php基礎(chǔ)知識(shí):函數(shù)基礎(chǔ)知識(shí)
php基礎(chǔ)知識(shí):函數(shù)基礎(chǔ)知識(shí)...2006-12-12PHP面向?qū)ο蠖鄳B(tài)性實(shí)現(xiàn)方法簡(jiǎn)單示例
這篇文章主要介紹了PHP面向?qū)ο蠖鄳B(tài)性實(shí)現(xiàn)方法,簡(jiǎn)單說(shuō)明了面向?qū)ο蠖鄳B(tài)性的原理并結(jié)合具體實(shí)例給出了php實(shí)現(xiàn)多態(tài)性的相關(guān)操作技巧,需要的朋友可以參考下2017-09-09php獲取Google機(jī)器人訪(fǎng)問(wèn)足跡的方法
這篇文章主要介紹了php獲取Google機(jī)器人訪(fǎng)問(wèn)足跡的方法,涉及正則匹配與預(yù)定義服務(wù)器變量的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04輕松修復(fù)Discuz!數(shù)據(jù)庫(kù)
各位站長(zhǎng)經(jīng)常會(huì)遇到的數(shù)據(jù)庫(kù)損壞的錯(cuò)誤,錯(cuò)誤來(lái)了就去面對(duì),不要慌張,瞎著急是沒(méi)有用的。其實(shí)熟悉Discuz! 的朋友都知道,Discuz! 后臺(tái)自帶數(shù)據(jù)庫(kù)修復(fù)工具的,如果數(shù)據(jù)庫(kù)損壞導(dǎo)致首頁(yè)打不開(kāi)了,但是后臺(tái)還可以進(jìn)去。2008-05-05淺談php處理后端&接口訪(fǎng)問(wèn)超時(shí)的解決方法
下面小編就為大家?guī)?lái)一篇淺談php處理后端&接口訪(fǎng)問(wèn)超時(shí)的解決方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10PHP7.1方括號(hào)數(shù)組符號(hào)多值復(fù)制及指定鍵值賦值用法分析
這篇文章主要介紹了PHP7.1方括號(hào)數(shù)組符號(hào)多值復(fù)制及指定鍵值賦值用法,結(jié)合實(shí)例形式對(duì)比分析了php7數(shù)組復(fù)制與賦值的新特性與操作技巧,需要的朋友可以參考下2016-09-09