欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

PHP中有哪些數(shù)組函數(shù)-創(chuàng)新互聯(lián)

PHP中有哪些數(shù)組函數(shù)?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

創(chuàng)新互聯(lián)是一家專業(yè)提供紅河哈尼企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、網(wǎng)站制作、html5、小程序制作等業(yè)務(wù)。10年已為紅河哈尼眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。

一、創(chuàng)建數(shù)組


array(key => value)


1、創(chuàng)建索引數(shù)組

使用array()函數(shù)聲明數(shù)組。PHP屬于弱類型語言相對較靈活和方便,也可以直接是數(shù)組的元素值value,不需要鍵值key,索引是自動分配的(索引從 0 開始)。
例:

array("1" => "百度","2" => "阿里","3" => "騰訊");
或者是不使用鍵值:
array("百度","阿里","騰訊");
當然也可以寫成:
$arr[0] = "百度";
$arr[1] = "阿里";
$arr[2] = "騰訊";

2、創(chuàng)建關(guān)聯(lián)數(shù)組

關(guān)聯(lián)數(shù)組和索引數(shù)組類似,只是關(guān)聯(lián)數(shù)組不能夠像索引數(shù)組的鍵名那樣只能夠為數(shù)字,它可以是數(shù)值和字符串以及混合形式,判斷一個數(shù)組是否為關(guān)聯(lián)數(shù)組的依據(jù)是:數(shù)組中的鍵名是否存在一個不是數(shù)字的。不是就是關(guān)聯(lián)。

array("李彥宏" => "百度","馬云" => "阿里","馬化騰" => "騰訊");

3、多維數(shù)組

array(array(),array()) 二維數(shù)組

獲得數(shù)組的長度 - count() 函數(shù)

<?php
$arr = array("百度","阿里","騰訊");
echo count($arr);
?> //結(jié)果返回3(說明數(shù)組中有三個元素)

二、遍歷數(shù)組

輸出數(shù)組中元素的值。對于索引數(shù)組常用for、foreach;對于關(guān)聯(lián)數(shù)組常用foreach。使用print_r()函數(shù)打印循環(huán)后的結(jié)果,也可以用var_dump()。

1、遍歷索引數(shù)組

遍歷并輸出索引數(shù)組的所有值,可以使用for、 foreach(array_expression as value)、foreach(arrayexpressionaskey => $value) 循環(huán),如下:

使用for循環(huán)


<?php
$arr = array("百度","阿里","騰訊");
$arrlen = count($arr);//獲取數(shù)組的長度
for ($i=0; $i <$arrlen ; $i++) { 
  $data[] = $arr[$i]; 
}
echo "<pre>"; //換行顯示
print_r($data);

打印結(jié)果顯示如下:
Array
(
    [0] => 百度
    [1] => 阿里
    [2] => 騰訊
)
使用foreach循環(huán)


<?php
$arr = array("百度","阿里","騰訊");
foreach ($arr as $value) {
  $data[] = $value;
}
echo "<pre>"; //換行顯示
print_r($data);//打印結(jié)果和上面一樣

注意:data后面有一個數(shù)組符號[],為什么呢?

2、遍歷關(guān)聯(lián)數(shù)組

遍歷并輸出關(guān)聯(lián)數(shù)組的所有值,可以使用 foreach (array_expression as key=>value) 循環(huán),如下:

<?php
$arr = array("李彥宏" => "百度","馬云" => "阿里","馬化騰" => "騰訊");
foreach ($arr as $key => $value) {
  $data[$key] = $value;
}
echo "<pre>"; //換行顯示
print_r($data);

打印結(jié)果顯示:


Array
(
  [李彥宏] => 百度
  [馬云] => 阿里
  [馬化騰] => 騰訊
)

注意到?jīng)]?此時的data后是[$key]?而不是[]
一個數(shù)關(guān)聯(lián)數(shù)組一個是數(shù)字索引數(shù)組,

三、增加刪除數(shù)組的元素

在數(shù)組元素的尾部增加
array_push(array,value1,value2…) 函數(shù)向第一個參數(shù)的數(shù)組尾部添加一個或多個元素(入棧),然后返回新數(shù)組的長度。
該函數(shù)等于多次調(diào)用 array[]=value。

<?php
$arr = array("百度","阿里","騰訊");
array_push($arr,"知乎","微博");
echo "<pre>"; //換行顯示
print_r($arr);
//打印結(jié)果顯示:
Array
(
  [0] => 百度
  [1] => 阿里
  [2] => 騰訊
  [3] => 知乎
  [4] => 微博
)

在數(shù)組元素的開始增加
array_unshift(array,value1,value2,value3…) 函數(shù)用于向數(shù)組插入新元素。新數(shù)組的值將被插入到數(shù)組的開頭。

<?php
$arr = array("百度","阿里","騰訊");
array_unshift($arr,"知乎","微博");
echo "<pre>"; //換行顯示
print_r($arr);
//打印結(jié)果顯示:
Array
(
  [0] => 知乎
  [1] => 微博
  [2] => 百度
  [3] => 阿里
  [4] => 騰訊
)

在數(shù)組元素的尾部刪除
array_pop(array) 函數(shù)刪除數(shù)組中的最后一個元素。

<?php
$arr = array("百度","阿里","騰訊");
array_pop($arr);
echo "<pre>"; //換行顯示
print_r($arr);
打印結(jié)果顯示:
Array
(
  [0] => 百度
  [1] => 阿里
)

在數(shù)組元素的開始刪除
array_shift(array) 函數(shù)刪除數(shù)組中第一個元素 并可以返回被刪除元素的值。

<?php
$arr = array("百度","阿里","騰訊");
array_shift($arr);
echo "<pre>"; //換行顯示
print_r($arr);
打印結(jié)果顯示:
Array
(
  [0] => 阿里
  [1] => 騰訊
)

移除數(shù)組中重復的值
array_unique(array) 函數(shù)移除數(shù)組中的重復的值,并返回結(jié)果數(shù)組。

<?php
$arr = array("百度","阿里","騰訊","百度","微博");
$data = array_unique($arr);
echo "<pre>";
print_r($data);
打印結(jié)果顯示:
Array
(
  [0] => 百度
  [1] => 阿里
  [2] => 騰訊
  [4] => 微博
)

四、定位數(shù)組元素

搜索數(shù)組中存在的值
in_array(search,array,type)檢查數(shù)組中是否存在指定的值。
如果給定的值 search 存在于數(shù)組 array 中則返回 true。如果第三個參數(shù)設(shè)置為 true,函數(shù)只有在元素存在于數(shù)組中且數(shù)據(jù)類型與給定值相同時才返回 true。如果沒有在數(shù)組中找到參數(shù),函數(shù)返回 false。

<?php
$arr = array("百度","阿里","騰訊");
while (in_array("百度", $arr)) {
  echo "已經(jīng)找到";
  break;
} //輸出已經(jīng)找到

在數(shù)組中根據(jù)條件取出一段值: array_slice(array,start,length,preserve)
start 必需。數(shù)值。規(guī)定取出元素的開始位置。 0 = 第一個元素。
如果該值設(shè)置為正數(shù),則從前往后開始取。
如果該值設(shè)置為負數(shù),則從后向前取 start 絕對值。 -2 意味著從數(shù)組的倒數(shù)第二個元素開始。

length 可選。數(shù)值。規(guī)定被返回數(shù)組的長度。
如果該值設(shè)置為整數(shù),則返回該數(shù)量的元素。
如果該值設(shè)置為負數(shù),則函數(shù)將在舉例數(shù)組末端這么遠的地方終止取出。
如果該值未設(shè)置,則返回從 start 參數(shù)設(shè)置的位置開始直到數(shù)組末端的所有元素。

<?php
$arr = array("百度","阿里","騰訊","知乎","微博");
$data = array_slice($arr,0,4);
echo "<pre>";
print_r($data);
打印結(jié)果顯示:
Array
(
  [0] => 百度
  [1] => 阿里
  [2] => 騰訊
  [3] => 知乎
)

array_splice(array,start,length,array) 函數(shù)從數(shù)組中移除選定的元素,并用新元素取代它。該函數(shù)也將返回包含被移除元素的數(shù)組。

<?php
$arr1 = array("百度","阿里","騰訊");
$arr2 = array("知乎","微博");
array_splice($arr1,0,2,$arr2);
echo "<pre>";
print_r($arr1);
打印結(jié)果顯示:
Array
(
  [0] => 知乎
  [1] => 微博
  [2] => 騰訊
)

五、數(shù)組合并、拆分、比較

array_merge()函數(shù)將數(shù)組合并到一起,返回一個聯(lián)合的數(shù)組。所得到的數(shù)組以第一個輸入數(shù)組參數(shù)開始,按后面數(shù)組參數(shù)出現(xiàn)的順序依次追加。

<?php
$arr1 = array("百度","阿里","騰訊");
$arr2 = array("知乎","微博");
$data = array_merge($arr1,$arr2);
echo "<pre>";
print_r($data);
打印結(jié)果顯示:
Array
(
  [0] => 百度
  [1] => 阿里
  [2] => 騰訊
  [3] => 知乎
  [4] => 微博
)

遞歸追加數(shù)組
array_merge_recursive()函數(shù)與array_merge()相同,可以將兩個或多個數(shù)組合并到一起,形成一個聯(lián)合的數(shù)組。兩者之間的區(qū)別在于,當某個輸入數(shù)組中的某個鍵已經(jīng)存在于結(jié)果數(shù)組中時該函數(shù)會采取不同的處理方法。array_merge()會覆蓋前面存在的鍵/值對,將其替換為當前輸入數(shù)組中的鍵/值對,而array_merge_recursive()將兩個值合并在一起,形成一個新的數(shù)組并以原有的鍵作為數(shù)組名。其形式為:

$arr= array('one'=>'C', 'one'=>'B'); 
$arr1= array('three'=>'1', 'one'=>'2'); 
$arr2= array_merge_recursive($arr, $arr1); 
echo "<pre>";
print_r($arr2); 
打印結(jié)果顯示:
Array
(
  [one] => Array
    (
      [0] => B
      [1] => 2
    )

  [three] => 1
)

合并兩個數(shù)組
array_combine()函數(shù)會生成一個新數(shù)組,這個數(shù)組由一組提交的鍵和對應的值組成,其形式為:

$arr= array('A', 'B'); 
$arr1= array('1', '2'); 
$arr2= array_combine($arr, $arr1);
echo "<pre>";
print_r($arr2); 
打印結(jié)果顯示:
Array
(
  [A] => 1
  [B] => 2
)

求數(shù)組的交集
array_intersect()函數(shù)返回一個保留了鍵的數(shù)組,這個數(shù)組只由第一個數(shù)組中出現(xiàn)的且在其他每個輸入數(shù)組中都出現(xiàn)的值組成。其形式如下:

$arr= array('A', 'B', 'C', 'D'); 
$arr1= array('A', 'B', 'E'); 
$arr2= array('A', 'F', 'D'); 
$arr3= array_intersect($arr, $arr1, $arr2); 
echo "<pre>";
print_r($arr3); 
打印結(jié)果顯示:
Array
(
  [0] => A
)

注意:只有在兩個元素有相同的數(shù)據(jù)類型時,array_intersect()才會認為它們相等。

求關(guān)聯(lián)數(shù)組的交集
array_intersect_assoc()與array_intersect()基本相同,只不過它在比較中還考慮了數(shù)組的鍵。因此,只有在第一個數(shù)組中出現(xiàn),且在所有其他輸入數(shù)組中也出現(xiàn)的鍵/值對才被返回到結(jié)果數(shù)組中。其形式如下:

$arr= array('a'=>'A', 'b'=>'B', 'c'=>'C', 'd'=>'D'); 
$arr1= array('a'=>'A', 'c'=>'B', 'E'); 
$arr2= array('a'=>'A', 'b'=>'F', 'd'=>'B'); 
$arr3= array_intersect_assoc($arr, $arr1, $arr2); 
echo "<pre>";
print_r($arr3); 
打印結(jié)果顯示:
Array
(
  [a] => A
)

求關(guān)聯(lián)數(shù)組的差集
函數(shù)array_diff_assoc()與array_diff()基本相同,只是它在比較時還考慮了數(shù)組的鍵,因此,只在第一個數(shù)組中出現(xiàn)而不在其他輸入數(shù)組中出現(xiàn)的鍵/值對才會被返回到結(jié)果數(shù)組中。其形式如下:

$arr= array('a'=>'A', 'b'=>'B', 'c'=>'C', 'd'=>'D'); 
$arr1= array('a'=>'A', 'b'=>'B', 'e'=>'E'); 
$arr3= array_diff_assoc($arr, $arr1); 
echo "<pre>";
print_r($arr3); 
打印結(jié)果顯示:
Array
(
  [c] => C
  [d] => D
)

其他有用的數(shù)組函數(shù)
返回一組隨機的鍵 array_rand()函數(shù)將返回數(shù)組中的一個或多個鍵。其形式為:

$arr= array('a'=>'A', 'b'=>'B', 'c'=>'C', 'd'=>'D'); 
$arr1= array_rand($arr, 2); 
echo "<pre>";
print_r($arr1);
打印結(jié)果顯示:
 Array
(
  [0] => c
  [1] => d
) //每次刷新顯示的結(jié)果都不一樣

對數(shù)組中的值求和
array_sum()函數(shù)將數(shù)組內(nèi)的所有值加在一起,返回最終的和,其形式如下:

$arr= array('A', 32, 12, 'B'); 
$count= array_sum($arr); 
echo "<pre>";
print_r($count);

打印結(jié)果顯示:
44

如果數(shù)組中包含其他數(shù)據(jù)類型(例如字符串),這些值將被忽略。

劃分數(shù)組
array_chunk()函數(shù)將數(shù)組分解為一個多維數(shù)組,這個多維數(shù)組由多個包含size個元素的數(shù)組所組成。其形式如下:

$arr= array('A', 'B', 'C', 'D'); 
$arr1= array_chunk($arr, 2); 
echo "<pre>";
print_r($arr1);

打印結(jié)果顯示:


Array
(
  [0] => Array
    (
      [0] => A
      [1] => B
    )

  [1] => Array
    (
      [0] => C
      [1] => D
    )

)

處理數(shù)組時可調(diào)用函數(shù)有

array_filter(*array*,*callbackfunction*);
array_intersect_uassoc(*array1*,*array2*,*array3*...,*myfunction*)
array_intersect_ukey(*array1*,*array2*,*array3*...,*myfunction*)
array_reduce(*array*,*myfunction*,*initial*)
array_walk(*array*,*myfunction*,*userdata*...)
……

關(guān)于PHP中有哪些數(shù)組函數(shù)問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。

標題名稱:PHP中有哪些數(shù)組函數(shù)-創(chuàng)新互聯(lián)
標題鏈接:http://aaarwkj.com/article10/ccghgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、移動網(wǎng)站建設(shè)、微信小程序自適應網(wǎng)站、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計
国内不卡一区二区三区| 国产av剧情一区二区| 亚洲av最近在线观看| 亚洲av毛片在线免费| 懂色av免费在线播放| 白色发布会在线观看免费| 日本道加勒比二三五区视频| 日本一区二区三区免费精品| 一区二区三区欧美久久| 国产一区二区三区性色| 日本激情人妻一区二区| 91精品午夜在线观看| 在线视频日韩欧美国产二区| 国产日本福利在线综合网| 亚洲av成人av天堂| 成人黄色av大片在线观看| 尤物在线观看视频播放| 亚洲天堂国产中文在线| 91高清国产最新地址| 亚洲天堂免费观看av| 黄片无毛欧美在线观看| 日韩精品诱惑一区二区| 天天操夜夜骑日日干| 国产自愉自愉免费精品七| 97在线视频观看视频在线| 久久精品中文字幕人妻| 久久热在线视频精品视频| 欧美日韩国产91在线| 国产原创剧情免费观看av| 日韩亚洲欧美成人一区| 天天操时时操夜夜操| 国产精品久久av高潮呻吟| 亚洲精品成人午夜av| 国产视频传媒一区二区| 国产亚洲加勒比久久精品| 日本大片一区二区免费看| 日韩国产传媒视频在线观看 | 一本久久精品午夜福利| 亚洲中文字幕在线乱码| 日韩成人午夜视频在线| 久久精品一区二区日韩|