您好,登錄后才能下訂單哦!
本篇內容介紹了“php如何從數組中剔除特定的元素”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
方法:1、用unset()去除指定鍵名的元素,語法“unset($數組名[鍵名])”;2、用array_splice()刪除指定位置開始的多個元素,語法“array_splice(數組,開始位置,元素個數)”;3、用array_shift()刪除第一個元素,語法“array_shift(數組)”;4、用array_pop()刪除最后一個元素,語法“array_pop(數組)”。
本教程操作環境:windows7系統、PHP8.1版、DELL G3電腦
方法1:利用“$數組名[鍵名]”語句和unset()函數去除指定鍵名的一個元素
$數組名[鍵名]
語句可以訪問指定鍵名的一個元素
而unset()函數可以刪除指定下標(鍵名)的一個數組元素,即刪除訪問到的一個元素
<?php
header('content-type:text/html;charset=utf-8');
$arr = array("Name"=>"Peter","Age"=>"41","Country"=>"USA");
echo "原數組:";
var_dump($arr);
echo "刪除指定鍵名的一個元素后:" ;
unset($arr["Age"]);
//↑ 你想刪除的key(下標)
var_dump($arr);
?>
方法2:利用array_splice()函數刪除指定位置開始的一個或多個元素
array_splice()是一個強大的函數,有多重功能:可以插入數組元素、可以替換數組元素,當然也可以刪除數組元素(畢竟array_splice()函數的本職工作是刪除指定元素并用其它值取代)。
array_splice()函數可以從指定位置開始刪除指定個數的元素。
array_splice($array,$start,$length)
參數 | 描述 |
---|---|
array | 必需。規定數組。 |
start | 必需。數值。規定刪除元素的開始位置。
0 = 第一個元素。
如果該值設置為正數,則從數組中該值指定的偏移量開始移除。如果該值設置為負數,則從數組末端倒數該值指定的偏移量開始移除。
-2 意味著從數組的倒數第二個元素開始。 |
length | 可選。數值。規定被移除的元素個數,也是被返回數組的長度。
如果該值設置為正數,則移除該數量的元素。如果該值設置為負數,則移除從 start 到數組末端倒數 length 為止中間所有的元素。如果該值未設置,則移除從 start 參數設置的位置開始直到數組末端的所有元素。 |
array_splice()函數的參數說明:
array_splice($arr,$start)
會刪除從$start
位置開始的所有元素刪除。
<?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);
?>
$start
參數有三種取值情況:
為正數,那么從$start位置開始,往后刪除;
為0,那么從第一個元素開始,往后刪除;
為負數,則從距離 $arr 末端 -start 的位置開始,從后往前刪除。例如 -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);
var_dump($arr);
?>
array_splice()函數是強大的,可以刪除多個元素,也可只刪除一個元素,那就需要給該函數指定一個$length參數(第三個參數),該參數用來規定刪除的元素個數。
<?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);
?>
$length參數也有三種取值情況:
為正數,那么就表示刪除 length 個元素;
為負數,那么將刪除從 start 開始,到數組末尾倒數 length 為止的所有元素;
如果省略,那么將刪除從 start 開始,一直到數組末尾的所有元素。
<?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);
?>
$length參數還可以為0,那么就表示不刪除元素,可以和該函數的第四個參數$value相配合,進行插入操作(這里就不做具體介紹了)。
方法3:使用array_shift()函數刪除第一個元素
array_shift() 函數用于刪除數組中的第一個元素,并返回被刪除的元素。
array_shift($arr)
array_shift()函數在刪除$arr數組的開頭的第一個元素后,arr 數組的長度會減 1,并將所有其他元素向前移動一位。如果鍵名是數字的,所有元素都將獲得新的鍵名,從 0 開始,并以 1 遞增;但字符串鍵名將保持不變。
注:該函數會改變原數組
<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(10,12,20,25,24);
echo "原數組:";
var_dump($arr);
array_shift($arr);
echo "刪除后的數組:" ;
var_dump($arr);
?>
可以看到這個例子,我們原先的$arr數組里面有5個元素,使用array_shift($arr)方法之后,重新使用var_dump($arr)輸出數組,發現只有4個元素了,數組頭部元素被刪除了。
方法4:使用array_pop() 函數刪除最后一個元素
array_pop()函數刪除數組中的最后一個元素。
array_pop($array)
該函數會改變原數組;返回值為數組的最后一個值,如果數組是空的,或者不是一個數組,將返回 NULL。
<?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);
array_pop($arr);
echo "移除最后一項后:";
var_dump($arr);
?>
注:利用array_slice()函數也可實現刪除第一個元素和最后一個元素。
“php如何從數組中剔除特定的元素”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。