您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)如何刪除php數(shù)組中的元素,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
php刪除數(shù)組中元素的方法:1、使用unset函數(shù)刪除數(shù)據(jù)中的一個(gè)元素,語(yǔ)法為“unset($array[1]);”;2、通過(guò)“array_splice”函數(shù)刪除數(shù)組元素,語(yǔ)法為“array_splice($array, 1, 1);”。
PHP 刪除數(shù)組中的元素
PHP 刪除數(shù)組中的元素有多種方式,以下列舉幾種常用的方式。
刪除數(shù)據(jù)中的一個(gè)元素
如果你想刪除數(shù)組中的一個(gè)元素,你可以使用 unset() 或 array_splice() 方法。
如果你知道數(shù)組元素的值(value),但不知道鍵(key),你可以使用 array_search() 來(lái)獲取鍵(key)。
unset() 方法
注意如果你使用 unset() 方法,它是不會(huì)改變其他的鍵(key),如果你想對(duì)其他的鍵(key)重新整理排序,可以使用 array_values()。
<?php $array = array(0 => "a", 1 => "b", 2 => "c"); unset($array[1]); //↑ 你要?jiǎng)h除的數(shù)組元素值的鍵 print_r($array); ?>
輸出結(jié)果:
Array ( [0] => a [2] => c )
array_splice() 方法
如果你使用 array_splice() 方法,數(shù)組的鍵會(huì)自動(dòng)重新建立索引, 但對(duì)關(guān)聯(lián)性的數(shù)組不起作用,需要使用 array_values() 將鍵轉(zhuǎn)換為數(shù)字鍵。
<?php $array = array(0 => "a", 1 => "b", 2 => "c"); array_splice($array, 1, 1); //↑ Offset which you want to delete print_r($array); ?>
輸出結(jié)果:
Array ( [0] => a [1] => c )
array_splice() 在釋放數(shù)組指定元素上與 unset() 函數(shù)取到相同作用。
刪除數(shù)組中的多個(gè)元素
如果你想刪除數(shù)組中的多個(gè)元素就不能使用嗎 unset() 或 array_splice() 函數(shù)了,你需要使用 array_diff() 或 array_diff_key() 方法,使用該方法需要知道要?jiǎng)h除的鍵(key)或值(value)。
array_diff() 方法
如果你知道要?jiǎng)h除的數(shù)組元素, 你可以使用 array_diff()。
<?php $array = array(0 => "a", 1 => "b", 2 => "c"); $array = array_diff($array, ["a", "c"]); //└────────┘→你要?jiǎng)h除的元素 print_r($array ); ?>
輸出結(jié)果為:
Array ( [1] => b )
array_diff_key() 方法
如果你知道要?jiǎng)h除的數(shù)組元素的鍵(key), 你可以使用 array_diff_key()。你需要在函數(shù)的第二個(gè)參數(shù)的鍵值位置輸入要?jiǎng)h除的鍵,值不需要,可隨意。
<?php $array = array(0 => "a", 1 => "b", 2 => "c"); $array = array_diff_key($array, [0 => "xy", "2" => "xy"]); //↑ ↑ 你要?jiǎng)h除的數(shù)組鍵 print_r($array); ?>
輸出結(jié)果為:
Array ( [1] => b )
上述就是小編為大家分享的如何刪除php數(shù)組中的元素了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。