4種方法:1、用array_keys(),語法“array_keys(數(shù)組)”。2、用foreach和一個(gè)空數(shù)組,語法“foreach(原數(shù)組 as $k=>$v){空數(shù)組名[]=$k;}”。3、用array_splice(),語法“array_splice(數(shù)組,刪除位置,刪除長度)”。4、用array_slice(),語法“array_slice(數(shù)組,截取位置,長度)”。
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
php去除數(shù)組value(鍵值)的多種方法
方法1:使用array_keys()函數(shù)去除全部value(鍵值)
array_key() 函數(shù)可以獲取數(shù)組中的部分或所有鍵名。
利用array_key() 函數(shù)可去掉數(shù)組的全部鍵值,返回包含全部鍵名的新數(shù)組。
使用語法:
array_keys($array)
示例:
<?php header("Content-type:text/html;charset=utf-8"); $arr=array("Name"=>"Peter","Age"=>"41","Country"=>"USA"); var_dump($arr); $keys=array_keys($arr); var_dump($keys); ?>
方法2:利用foreach循環(huán)和一個(gè)空數(shù)組去除全部value(鍵值)
<?php $arr1=array("aaa"=>11,"bbb"=>22,"ccc"=>33); var_dump($arr1); $arr2=array(); foreach($arr1 as $k=>$v){ $arr2[]=$k; } var_dump($arr2); ?>
方法3:使用array_splice()函數(shù)去除數(shù)組value(鍵值)
array_splice()函數(shù)在刪除數(shù)組的一部分元素時(shí),會(huì)將這些被刪除的元素組成為一個(gè)新數(shù)組
使用語法:
array_splice()函數(shù)在刪除數(shù)組的一部分元素時(shí),會(huì)將這些被刪除的元素組成為一個(gè)新數(shù)組,然后返回這個(gè)新數(shù)組;因此array_splice()函數(shù)可以用來截取數(shù)組片段。
array_splice(array1,start,length,array2)
參數(shù) | 描述 |
---|---|
array1 | 必需。規(guī)定數(shù)組。 |
start | 必需。數(shù)值。規(guī)定刪除元素的開始位置。 0 = 第一個(gè)元素。 如果該值設(shè)置為正數(shù),則從數(shù)組中該值指定的偏移量開始移除。如果該值設(shè)置為負(fù)數(shù),則從數(shù)組末端倒數(shù)該值指定的偏移量開始移除。 -2 意味著從數(shù)組的倒數(shù)第二個(gè)元素開始。 |
length | 可選。數(shù)值。規(guī)定被移除的元素個(gè)數(shù),也是被返回?cái)?shù)組的長度。 如果該值設(shè)置為正數(shù),則移除該數(shù)量的元素。如果該值設(shè)置為負(fù)數(shù),則移除從 start 到數(shù)組末端倒數(shù) length 為止中間所有的元素。如果該值未設(shè)置,則移除從 start 參數(shù)設(shè)置的位置開始直到數(shù)組末端的所有元素。 |
array2 | 可選。規(guī)定帶有要插入原始數(shù)組中元素的數(shù)組。如果只有一個(gè)元素,則可以設(shè)置為字符串,不需要設(shè)置為數(shù)組。 |
該函數(shù)會(huì)改變原數(shù)組,并返回包含被提取元素的數(shù)組。
使用array_splice()函數(shù)可去掉指定位置的一個(gè)或多個(gè)鍵值。
示例1:
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20,25,24); echo "原數(shù)組:"; var_dump($arr); echo "刪除后的數(shù)組:" ; array_splice($arr,2); var_dump($arr); ?>
示例2:
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20,25,24); echo "原數(shù)組:"; var_dump($arr); echo "刪除后的數(shù)組:" ; array_splice($arr,2,-1); var_dump($arr); ?>
方法4、使用array_slice()函數(shù)去除數(shù)組value(鍵值)
array_slice()函數(shù)就是PHP提供的用來截取數(shù)組的一個(gè)函數(shù),可以從數(shù)組中提取出一個(gè)片段。語法如下:
array array_slice ( array $arr , int $start [, int $length = NULL [, bool $preserve_keys = false ]] )
參數(shù)說明:
- arr 表示要截取的數(shù)組。
- start 表示開始截取的位置(下標(biāo)):
- 如果 start 為正數(shù),則從前往后截取。
- 如果 start 為負(fù)數(shù),則從距離 arr 末端 -start 的位置開始,從后往前截取。例如 -2 意味著從數(shù)組的倒數(shù)第二個(gè)元素開始。
- length 是可選參數(shù),表示截取長度:
- 如果 length 為正數(shù),那么表示截取的元素個(gè)數(shù);
- 如果 length 為負(fù)數(shù),那么截取的片段將終止在距離數(shù)組末端 length 的位置;
- 如果省略,那么將從 start 位置開始,一直截取到數(shù)組的末尾。
- preserve_keys 是可選參數(shù),規(guī)定是否保留原來的鍵名,默認(rèn)為 false,也即不保留;如果設(shè)置為 true,將保留原有的鍵名。
返回值:返回?cái)?shù)組中的選定部分。
使用array_slice()函數(shù)可去掉指定位置的一個(gè)或多個(gè)鍵值。
示例:
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(1,2,3,4,5,6,7,8,9,10); echo "原數(shù)組:"; var_dump($arr); echo "刪除后的數(shù)組:"; $result = array_slice($arr,0,-2); var_dump($result); $result = array_slice($arr,-5); var_dump($result); ?>
輸出結(jié)果
推薦學(xué)習(xí):《PHP視頻教程》