首頁 >後端開發 >PHP問題 >php怎麼去除數組value(鍵值)

php怎麼去除數組value(鍵值)

青灯夜游
青灯夜游原創
2022-08-18 20:08:303062瀏覽

4種方法:1、用array_keys(),語法「array_keys(陣列)」。 2.用foreach和一個空數組,語法「foreach(原始數組 as $k=>$v){空數組名[]=$k;}」。 3.用array_splice(),語法「array_splice(數組,刪除位置,刪除長度)」。 4.用array_slice(),語法「array_slice(陣列,截取位置,長度)」。

php怎麼去除數組value(鍵值)

本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦

php移除陣列value (鍵值)的多種方法

方法1:使用array_keys()函數移除全部value(鍵值)

array_key()函數可以取得數組中的部分或所有鍵名。

利用array_key() 函數可去掉陣列的全部鍵值,傳回包含全部鍵名的新陣列。

使用語法:

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);
?>

php怎麼去除數組value(鍵值)

#方法2:利用foreach迴圈和一個空數組去除全部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);
?>

php怎麼去除數組value(鍵值)

方法3:使用array_splice()函數移除陣列value(鍵值)

# array_splice()函數在刪除陣列的一部分元素時,會將這些被刪除的元素組成為一個新陣列

使用語法:

array_splice()函數在刪除陣列的一部分元素時,會將這些被刪除的元素組成為一個新數組,然後傳回這個新數組;因此array_splice()函數可以用來截取數組片段。

array_splice(array1,start,length,array2)
參數 描述
#array1 必要。規定數組。
start #必要。數值。規定刪除元素的開始位置。    0 = 第一個元素。    如果該值設定為正數,則從數組中該值指定的偏移量開始移除。如果該值設定為負數,則從陣列末端倒數該值指定的偏移量開始移除。    -2 意指從陣列的倒數第二個元素開始。
length 可選。數值。規定被移除的元素個數,也是被傳回數組的長度。    如果該值設為正數,則移除該數量的元素。如果該值設定為負數,則移除從 start 到陣列末端倒數 length 為止中間所有的元素。如果該值未設置,則移除從 start 參數設定的位置開始直到陣列末端的所有元素。   
array2 可選。規定帶有要插入原始數組中元素的數組。如果只有一個元素,則可以設定為字串,不需要設定為陣列。

该函数会改变原数组,并返回包含被提取元素的数组。

使用array_splice()函数可去掉指定位置的一个或多个键值。

示例1:

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(10,12,20,25,24);
echo "原数组:";
var_dump($arr);

echo "删除后的数组:" ;
array_splice($arr,2);
var_dump($arr);
?>

php怎麼去除數組value(鍵值)

示例2:

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(10,12,20,25,24);
echo "原数组:";
var_dump($arr);

echo "删除后的数组:" ;
array_splice($arr,2,-1);
var_dump($arr);
?>

php怎麼去除數組value(鍵值)

方法4、使用array_slice()函数去除数组value(键值)

array_slice()函数就是PHP提供的用来截取数组的一个函数,可以从数组中提取出一个片段。语法如下:

array array_slice ( array $arr , int $start [, int $length = NULL [, bool $preserve_keys = false ]] )

参数说明:

  • arr 表示要截取的数组。
  • start 表示开始截取的位置(下标):
    • 如果 start 为正数,则从前往后截取。
    • 如果 start 为负数,则从距离 arr 末端 -start 的位置开始,从后往前截取。例如 -2 意味着从数组的倒数第二个元素开始。
  • length 是可选参数,表示截取长度:
    • 如果 length 为正数,那么表示截取的元素个数;
    • 如果 length 为负数,那么截取的片段将终止在距离数组末端 length 的位置;
    • 如果省略,那么将从 start 位置开始,一直截取到数组的末尾。
  • preserve_keys 是可选参数,规定是否保留原来的键名,默认为 false,也即不保留;如果设置为 true,将保留原有的键名。

返回值:返回数组中的选定部分。    

使用array_slice()函数可去掉指定位置的一个或多个键值。

示例:

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(1,2,3,4,5,6,7,8,9,10);
echo "原数组:";
var_dump($arr); 

echo "删除后的数组:";
$result = array_slice($arr,0,-2); 
var_dump($result);
$result = array_slice($arr,-5); 
var_dump($result);
?>

输出结果

php怎麼去除數組value(鍵值)

推荐学习:《PHP视频教程

以上是php怎麼去除數組value(鍵值)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn