小編給大家分享一下php數(shù)組中如何移除元素,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元市中做網(wǎng)站,已為上家服務(wù),為市中各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
php數(shù)組中移除元素的方法:1、通過(guò)“unset($array[1]);”方式移除數(shù)組元素;2、通過(guò)“array_splice($array, 1, 1);”方式移除數(shù)組元素。
引言
PHP的數(shù)組,說(shuō)白了就是一個(gè)映射的鍵值對(duì)集合。那么如何從數(shù)組元素中刪除元素呢?你肯定首先想到遍歷數(shù)組,然后找到目標(biāo)項(xiàng),然后刪除。
我看到有同學(xué)將要?jiǎng)h除的元素 = null,這并不起作用,因?yàn)?null 也是作為值存在的。并不能移除元素。
本文就專門說(shuō)說(shuō)移除數(shù)組元素的方法。
學(xué)習(xí)時(shí)間
大致上說(shuō),移除數(shù)組元素,有兩個(gè)常用方法,一個(gè)是 unset 函數(shù),一個(gè)是 array_splice 函數(shù)。
array_splice 什么時(shí)間使用?就是你拿到的是值,卻不知道其索引,就要用這個(gè)了。
unset 函數(shù)
請(qǐng)注意,使用 unset 函數(shù)不會(huì)重新構(gòu)建索引,數(shù)組不會(huì)洗牌。如果你想要在刪除元素后重新創(chuàng)建索引,那就執(zhí)行 array_values,返回的數(shù)組就是重新編排過(guò)索引的了。并且所有索引被設(shè)置成默認(rèn)從0開始的數(shù)字。
舉例說(shuō)明:
$array = [0 => "a", 1 => "b", 2 => "c"]; unset($array[1]);
執(zhí)行該操作后,數(shù)組 $array 的值如下:
[ [0] => a [2] => c ]
可以注意到數(shù)組索引沒(méi)有變化。
array_splice 函數(shù)
這個(gè)函數(shù)在移除元素后,關(guān)聯(lián)數(shù)組的對(duì)應(yīng)關(guān)系不會(huì)改變,此函數(shù)的參數(shù)形式:
array array_splice( array &$input, int $offset[, int $length = 0[, mixed $replacement]] )
用來(lái)把數(shù)組中的一部分去掉并用其它值取代 。如果最后的參數(shù) replaement不傳,就是默認(rèn)為把offset 開始的 如果是數(shù)字索引,返回的數(shù)組會(huì)重新編排索引值:
$array = [0 => "a", 1 => "b", 2 => "c"]; array_splice($array, 1, 1);
返回的值:
[ [0] => a [1] => c ]
可以看到索引被重新編排了。
再深一步
上面說(shuō)的兩個(gè)示例,都是單個(gè)元素的刪除。下面說(shuō)說(shuō)移除多個(gè)數(shù)組元素。
unset / arraysplice 用起來(lái)太繁瑣了,要一個(gè)一個(gè)地操作。如果我們知道了數(shù)組元素的鍵,或者值,則可以使用 array_diff / array_diff_key 來(lái)進(jìn)行批量操作。
array_diff 函數(shù)
比如已知要?jiǎng)h除的元素的值,可以像下面這樣移除:
$array = [0 => "a", 1 => "b", 2 => "c"];
$array = array_diff($array, ["a", "c"]);
結(jié)果輸出:
[ [1] => b ]
數(shù)組的索引并不會(huì)被重建。
array_diff_keys 函數(shù)
如果已知要?jiǎng)h除元素的索引,可以通過(guò)下面這樣刪除:
$array = [0 => "a", 1 => "b", 2 => "c"]; $array = array_diff_key($array, [0 => "xy", "2" => "xy"]);
執(zhí)行后輸出:
[ [1] => b ]
索引沒(méi)有重建。
以上是“php數(shù)組中如何移除元素”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)站欄目:php數(shù)組中如何移除元素
轉(zhuǎn)載注明:http://chinadenli.net/article24/ieggce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、定制開發(fā)、企業(yè)網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、電子商務(wù)、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)