本文實例總結了PHP數組用法。分享給大家供大家參考,具體如下:
Demo1.php
<?php //創建一個數組變量 $userNames = array('張三','李四','王五'); //將這個數組打印出來 // echo $userNames;//Array // $userName = '張三'; // echo $userName;//張三 //如果你想打印出這個數組的某一個元素 //那你必須找到這個元素的下標,鍵(key) //0,1,2 //echo $userNames[2];//王五 //print_r -- 打印關於變量的易於理解的信息。 //print_r($userNames);//Array ( [0] => 張三 [1] => 李四 [2] => 王五 ) //$userNames 是一個數組變量,而 $userNames[x] 可以理解成數組變量下的小變量 $userNames[4] = '趙七'; print_r($userNames);//Array ( [0] => 張三 [1] => 李四 [2] => 王五 [4] => 趙七 ) ?>
Demo2.php
<?php //range -- 建立一個包含指定范圍單元的數組 //range 包含指定數組 //包含兩種東西,一種叫做鍵(key),一種叫做值(value) //key 是自動生成的,默認從 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('張三','李四','王五'); //通過循環來顯示數組裡的所有值 //從 0-5 之間循環 // 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 開始,或者說,壓根不是數字,那麼就無法用無精打采循環來實現顯示數據列表 //通過 foreach 循環來遍歷數組,這方式好處,不需要去考慮 key // foreach ($userNames as $value){ // echo $value.'<br/>'; // } //foreach 遍歷 $key => $value // foreach ($userNames as $keyaaa => $value){ // echo $keyaaa.'-->'.$value.'<br/>'; // } /** * 0-->張三 * 1-->李四 * 2-->王五 * */ //所以,你要先做個判斷 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 //創建自定義鍵(key)的數組 //如果你不去聲明元素的 key ,那麼從開始 0 計算 // $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 //先創建只一個元素的數組 $userAge = array('chaoyv'=>25); //打印出 chaoyv 的年齡 //echo $userAge['chaoyv']; //25 //將以前的數組,追加兩條,這裡說的下標,鍵,key 是一個東西 $userAge['yike'] = 30; $userAge['wife'] = 24; print_r($userAge); ?>
Demo7.php
<?php //array 關鍵字都可以不要,就能創建數組 $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 ) //這裡無法使用 for 循環將數據全部顯示出來,只能通過 foreach 遍歷出來 foreach ($userAges as $value){ echo $value.'<br/>'; } ?>
Demo8.php
<?php // $userAges['chaoyv'] = 25; // $userAges['yike'] = 30; // $userAges['wife'] = 24; $username = array('世'=>'何開','血'=>'趙血兒','學'=>'墨學之'); //print_r($username); //each 的使用 //each -- 返回數組中當前的鍵/值對並將數組指針向前移動一步 //這裡有一個指針,默認情況下,指針是指定第一個鍵值對 //這裡的第一個鍵值對是 '世'=>'何開' //如果each($username),那麼獲取的就是第一個鍵值對 '世'=>'何開' //each 這個函數返回的是一個數組, //each 將第一個鍵值對獲取到,然後包裝成一個新的數組。 //print_r(each($username)); //相當於 $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('世'=>'何開','血'=>'趙血兒','學'=>'墨學之'); //這裡,我們怎麼使用 each 來循環所有的數據呢? //相當於 $a = Array ( [1] => 何開 [value] => 何開 [0] => 世 [key] => 世 ) //兩個感歎號,表示真是存在的數據轉換成布爾值 // echo !!each($username);//說明有數據,有數據,用布爾值的理念就是真(true) // echo !!each($username); // echo !!each($username); // echo !!each($username);//第四個是假的 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/>'; // /** // * 世---何開 // * 血---趙血兒 // * 學---墨學之 // * */ ?>
Demo10.php
<?php // $usernames = array('世'=>'何開','血'=>'趙血兒','學'=>'墨學之'); // $a = each($usernames); // //世-->何開 // echo $a['key']; // echo '-->'; // echo $a['value']; // $a = each($usernames); // //血-->趙血兒 // echo $a['key']; // echo '-->'; // echo $a['value']; // //list -- 把數組中的值賦給一些變量 // $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=>'何開','血'=>'趙血兒','學'=>'墨學之'); // //list 只能認識 key 為數字的 // //自定義的字符串 key 是無法使用 list 來識別的 // list($a,$b,$c) = $usernames; // echo $a;//何開 $usernames = array('世'=>'何開','血'=>'趙血兒','學'=>'墨學之'); //相當於 $a = Array ( [1] => 何開 [value] => 何開 [0] => 世 [key] => 世 ) list($name,$username) = each($usernames); echo $username; ?>
Demo11.php
<?php $usernames = array('世'=>'何開','血'=>'趙血兒','學'=>'墨學之'); $a =each($usernames); echo $a[key]; $a =each($usernames); echo $a[key]; //第三次,我想取數組的第一條數組 //只要將數組的指針調整到第一個位置即可 //reset -- 將數組的內部指針指向第一個單元 reset($usernames); $a = each($usernames); echo $a[key]; //世血世 ?>
Demo12.php
<?php // $usernames = array('世'=>'何開','境'=>'何開','血'=>'趙血兒','學'=>'墨學之'); // print_r($usernames); // echo '<br/>'; // //array_unique -- 移除數組中重復的值 // //創建了一個新數組,而新數組呢,已經移除掉了,舊的數組原封不動 // $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('世'=>'何開','境'=>'何開','血'=>'趙血兒','學'=>'墨學之'); print_r($usernames); echo '<br/>'; //array_flip -- 交換數組中的鍵和值 $newUsernames = array_flip($usernames); print_r($newUsernames); /** * Array ( [世] => 何開 [境] => 何開 [血] => 趙血兒 [學] => 墨學之 ) * Array ( [何開] => 境 [趙血兒] => 血 [墨學之] => 學 ) * */ ?>
Demo14.php
<?php //創建一個單一的數組 $products = array( array('蘋果','6','28.8'), array('豬肉','2','18.8'), array('餅干','4','48.8') ); //print_r($products); //將 $products 第一條元素取出來 //print_r($products[2]); //數組裡的數組 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 //創建一個單一的數組 $products = array( array('蘋果','6','28.8'), array('豬肉','2','18.8'), array('餅干','4','48.8') ); //首先要求出外面數組的長度 //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 //創建一個單一的數組 $products = array( array('產品'=>'蘋果','數量'=>'6','價格'=>'28.8'), array('產品'=>'豬肉','數量'=>'3','價格'=>'25.8'), array('產品'=>'餅干','數量'=>'2','價格'=>'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/>'; } /** * 產品--蘋果|數量--6|價格--28.8| * 產品--豬肉|數量--3|價格--25.8| * 產品--餅干|數量--2|價格--26.8| * */ ?>
Demo17.php
<?php // //sort -- 對數組排序 // $fruit = array('banner','orange','apple'); // //沒有排序前,一般是按照 key 的順序進行顯示 // //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); //按照數字的話,要看整體的數字的大小,按照字符串的話,只看第一位大小 // $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 -- 對數組進行排序並保持索引關系 $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 -- 對數組按照鍵名排序 ksort($fruit) ; print_r($fruit); //Array ( [a] => apple [b] => banner [o] => orange ) ?>
Demo20.php
<?php //echo '<img src="images/mm1.jpg" />'; //創建一個數組 $pic = array('mm1.jpg','mm2.jpg','mm3.jpg','mm4.jpg','mm5.jpg'); //數組進行隨機打亂 //shuffle($pic); //多數組進行反向排序,array 打頭的函數,一般會創建一個新數組 $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); //這個函數的返回值將得到 ,目前數組的元素個數 //array_unshift -- 在數組開頭插入一個或多個單元 //在開頭插入數據 array_unshift($userName,'李四') ; //在結尾插入數據 array_push($userName,'吳者然'); //刪除開頭的元素 array_shift($userName); //刪除結尾的元素 array_pop($userName); print_r($userName); ?>
Demo22.php
<?php $fruit = array('banner','orange','apple'); //這個函數用來獲取一個數組中的鍵(key) //第二個參數表明隨即獲取幾個 // $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('世'=>'何開','血'=>'趙血兒','學'=>'墨學之'); //默認情況下,指針在第一條數據 //獲取指針的當前元素,current 並沒有將指針移到下一步 // echo current($username); // echo current($username); // echo current($username); // echo next($username); // echo current($username); // echo next($username); // echo current($username); // //reset -- 將數組的內部指針指向第一個單元 // echo reset($username); // echo sizeof($username);//count $numbers = array(1,4,5,656,7,5,7,4,7,4,5,7); //array_count_values -- 統計數組中所有的值出現的次數 print_r(array_count_values($numbers)); ?>
Demo24.php
<?php $a=$b=$c=''; $fruits = array('a'=>'apple','b'=>'banner','c'=>'orange'); //通過標量函數將字符串鍵(key)設置成變量,然後將值賦給了這個變量 extract($fruits); echo $a; echo $c; echo $b; //appleorangebanner ?>
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網絡編程技巧總結》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。