PHP入門教程之?dāng)?shù)組用法匯總(創(chuàng)建,刪除,遍歷,排序等)
本文實例總結(jié)了PHP數(shù)組用法。分享給大家供大家參考,具體如下:
Demo1.php
<?php
//創(chuàng)建一個數(shù)組變量
$userNames = array('張三','李四','王五');
//將這個數(shù)組打印出來
// echo $userNames;//Array
// $userName = '張三';
// echo $userName;//張三
//如果你想打印出這個數(shù)組的某一個元素
//那你必須找到這個元素的下標(biāo),鍵(key)
//0,1,2
//echo $userNames[2];//王五
//print_r -- 打印關(guān)于變量的易于理解的信息。
//print_r($userNames);//Array ( [0] => 張三 [1] => 李四 [2] => 王五 )
//$userNames 是一個數(shù)組變量,而 $userNames[x] 可以理解成數(shù)組變量下的小變量
$userNames[4] = '趙七';
print_r($userNames);//Array ( [0] => 張三 [1] => 李四 [2] => 王五 [4] => 趙七 )
?>
Demo2.php
<?php
//range -- 建立一個包含指定范圍單元的數(shù)組
//range 包含指定數(shù)組
//包含兩種東西,一種叫做鍵(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('張三','李四','王五');
//通過循環(huán)來顯示數(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 開始,或者說,壓根不是數(shù)字,那么就無法用無精打采循環(huán)來實現(xiàn)顯示數(shù)據(jù)列表
//通過 foreach 循環(huán)來遍歷數(shù)組,這方式好處,不需要去考慮 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
//創(chuàng)建自定義鍵(key)的數(shù)組
//如果你不去聲明元素的 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
//先創(chuàng)建只一個元素的數(shù)組
$userAge = array('chaoyv'=>25);
//打印出 chaoyv 的年齡
//echo $userAge['chaoyv']; //25
//將以前的數(shù)組,追加兩條,這里說的下標(biāo),鍵,key 是一個東西
$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 )
//這里無法使用 for 循環(huán)將數(shù)據(jù)全部顯示出來,只能通過 foreach 遍歷出來
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 -- 返回數(shù)組中當(dāng)前的鍵/值對并將數(shù)組指針向前移動一步
//這里有一個指針,默認情況下,指針是指定第一個鍵值對
//這里的第一個鍵值對是 '世'=>'何開'
//如果each($username),那么獲取的就是第一個鍵值對 '世'=>'何開'
//each 這個函數(shù)返回的是一個數(shù)組,
//each 將第一個鍵值對獲取到,然后包裝成一個新的數(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é)之');
//這里,我們怎么使用 each 來循環(huán)所有的數(shù)據(jù)呢?
//相當(dāng)于 $a = Array ( [1] => 何開 [value] => 何開 [0] => 世 [key] => 世 )
//兩個感嘆號,表示真是存在的數(shù)據(jù)轉(zhuǎn)換成布爾值
// echo !!each($username);//說明有數(shù)據(jù),有數(shù)據(jù),用布爾值的理念就是真(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/>';
// /**
// * 世---何開
// * 血---趙血兒
// * 學(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 只能認識 key 為數(shù)字的
// //自定義的字符串 key 是無法使用 list 來識別的
// 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)整到第一個位置即可
//reset -- 將數(shù)組的內(nèi)部指針指向第一個單元
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)建了一個新數(shù)組,而新數(shù)組呢,已經(jīng)移除掉了,舊的數(shù)組原封不動
// $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)建一個單一的數(shù)組
$products = array(
array('蘋果','6','28.8'),
array('豬肉','2','18.8'),
array('餅干','4','48.8')
);
//print_r($products);
//將 $products 第一條元素取出來
//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)建一個單一的數(shù)組
$products = array(
array('蘋果','6','28.8'),
array('豬肉','2','18.8'),
array('餅干','4','48.8')
);
//首先要求出外面數(shù)組的長度
//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)建一個單一的數(shù)組
$products = array(
array('產(chǎn)品'=>'蘋果','數(shù)量'=>'6','價格'=>'28.8'),
array('產(chǎn)品'=>'豬肉','數(shù)量'=>'3','價格'=>'25.8'),
array('產(chǎn)品'=>'餅干','數(shù)量'=>'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/>';
}
/**
* 產(chǎn)品--蘋果|數(shù)量--6|價格--28.8|
* 產(chǎn)品--豬肉|數(shù)量--3|價格--25.8|
* 產(chǎn)品--餅干|數(shù)量--2|價格--26.8|
* */
?>
Demo17.php
<?php
// //sort -- 對數(shù)組排序
// $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);
//按照數(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 -- 對數(shù)組進行排序并保持索引關(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 -- 對數(shù)組按照鍵名排序
ksort($fruit) ;
print_r($fruit);
//Array ( [a] => apple [b] => banner [o] => orange )
?>
Demo20.php
<?php
//echo '<img src="images/mm1.jpg" />';
//創(chuàng)建一個數(shù)組
$pic = array('mm1.jpg','mm2.jpg','mm3.jpg','mm4.jpg','mm5.jpg');
//數(shù)組進行隨機打亂
//shuffle($pic);
//多數(shù)組進行反向排序,array 打頭的函數(shù),一般會創(chuàng)建一個新數(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);
//這個函數(shù)的返回值將得到 ,目前數(shù)組的元素個數(shù)
//array_unshift -- 在數(shù)組開頭插入一個或多個單元
//在開頭插入數(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');
//這個函數(shù)用來獲取一個數(shù)組中的鍵(key)
//第二個參數(shù)表明隨即獲取幾個
// $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é)之');
//默認情況下,指針在第一條數(shù)據(jù)
//獲取指針的當(dāng)前元素,current 并沒有將指針移到下一步
// 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)部指針指向第一個單元
// 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)計數(shù)組中所有的值出現(xiàn)的次數(shù)
print_r(array_count_values($numbers));
?>
Demo24.php
<?php
$a=$b=$c='';
$fruits = array('a'=>'apple','b'=>'banner','c'=>'orange');
//通過標(biāo)量函數(shù)將字符串鍵(key)設(shè)置成變量,然后將值賦給了這個變量
extract($fruits);
echo $a;
echo $c;
echo $b;
//appleorangebanner
?>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
- PHP 數(shù)組和字符串互相轉(zhuǎn)換實現(xiàn)方法
- PHP刪除數(shù)組中的特定元素的代碼
- php獲取數(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面向?qū)ο蠖鄳B(tài)性實現(xiàn)方法簡單示例
這篇文章主要介紹了PHP面向?qū)ο蠖鄳B(tài)性實現(xiàn)方法,簡單說明了面向?qū)ο蠖鄳B(tài)性的原理并結(jié)合具體實例給出了php實現(xiàn)多態(tài)性的相關(guān)操作技巧,需要的朋友可以參考下2017-09-09
PHP7.1方括號數(shù)組符號多值復(fù)制及指定鍵值賦值用法分析
這篇文章主要介紹了PHP7.1方括號數(shù)組符號多值復(fù)制及指定鍵值賦值用法,結(jié)合實例形式對比分析了php7數(shù)組復(fù)制與賦值的新特性與操作技巧,需要的朋友可以參考下2016-09-09

