(實用篇)PHP中unset,array_splice刪除數組中元素的區別

2021-03-02 PHP自學中心

以下是文章分享2群,由於群人數已超過300,不能掃碼進群,這個任務呢,就由小篇來拉你們進群了,掃描下面二維碼,加小篇好友~


php中刪除數組元素是非常的簡單的,但有時刪除數組需要對索引進行一些排序要求我們會使用到相關的函數,這裡我們來介紹使用unset,array_splice刪除數組中的元素區別吧

如果要在某個數組中刪除一個元素,可以直接用的unset,但是數組的索引不會重排:

<?php
$arr = array('a','b','c','d');
unset($arr[1]);
print_r($arr);
?>

結果是:

Array ( [0] => a [2] => c [3] => d )

那麼怎麼才能做到缺少的元素會被填補並且數組會被重新索引呢?答案是array_splice():

<?php
$arr = array('a','b','c','d');
array_splice($arr,1,1);
print_r($arr);
?>

結果是:

Array ( [0] => a [1] => c [2] => d )

  

刪除數組中特定元素

<?php
$arr2 = array(1,3, 5,7,8);
foreach ($arr2 as $key=>$value){  
if ($value === 3)    
unset($arr2[$key]);
}
var_dump($arr2);
?>

補充刪除空數組

實例:

<?php  
$array = ('a' => "abc", 'b' => "bcd",'c' =>"cde",'d' =>"def",'e'=>"");  
array_filter($array);  
echo "<pre>";  
print_r($array);
?>

結果: 

Array ( 

     [a] => abc 

     [b] => bcd 

     [c] => cde 

    [d] => def

 )

 

總結

array_splice()函數刪除的話,數組的索引值也變化了。

unset()函數刪除的話,數組的索引值沒有變化。


相關焦點

  • 探討如何實現PHP刪除數組元素
    $a=array("red", "green", "blue", "yellow");   count($a); //得到4   unset($a[1]); //刪除第二個元素   count($a); //得到3   echo $a[2]; //數組中僅有三個元素,本想得到***一個元素,但卻得到blue,   echo $a[1]; //無值   ?
  • 3分鐘短文|PHP 數組刪除元素,忘了foreach吧,有更優雅的方式
    引言PHP的數組,說白了就是一個映射的鍵值對集合。那麼如何從數組元素中刪除元素呢?你肯定首先想到遍歷數組,然後找到目標項,然後刪除。我看到有同學將要刪除的元素 = null,這並不起作用,因為 null 也是作為值存在的。並不能移除元素。
  • 【每天一題】PHP中常用的數組操作方法筆記整理
    PHP中擁有傳統的array數組結構,並且隨著版本的升級也在不斷改進,比如從php5.4起可以使用短數組定義語法、我們文中會講到,下面就來看一下PHP中常用的數組操作方法筆記整理:概述要訪問一個變量的內容,可以直接使用其名稱。
  • JavaScript 數組中 Slice 和 Splice 的區別(含視頻)
    這篇文章的標題或許應該是「怎麼才能不混淆 JavaScript 數組中的 Slice 方法和 Splice 方法」,因為我自己總是記不住這兩者的區別。其實可以從這個方法的名字看出來,它是用於從一個 JavaScript 數組中提取元素。不過和切蛋糕不同,從數組中提取元素不會影響原數組,原數組根本就不會變化(像是切不完的蛋糕!)
  • 模擬實現 Array.prototype.splice
    splicearray.splice(start[, deleteCount[, item1[, item2[, ...]]]])MDN:splice() 方法通過刪除或替換現有元素或者原地添加新的元素來修改數組,並以數組形式返回被修改的內容。
  • 區分JavaScript數組的slice()與splice()
    JavaScript的 splice() 方法向/從數組中添加/刪除項目,然後返回被刪除的項目,而且該方法會改變原始數組。說明請注意,該方法並不會修改數組,而是返回一個子數組。如果想刪除數組中的一段元素,應該使用方法 Array.splice()。注釋:您可使用負值從數組的尾部選取元素。
  • PHP中的isset()和array_key_exists()函數的區別
    源 / php中文網      源 / www.php.cnisset()函數是PHP中的內置函數,它檢查變量是否已設置且不為NULL。php     $array = array();    echo isset($array['geeks']) ? 'array is set.' :      '數組未設置'; ?
  • PHP如何刪除數組中的重複元素 - php中文網
    在PHP中可以使用內置函數array_unique()來直接刪除重複元素,也可以使用array_flip()函數來間接刪除重複元素。1.array_unique()函數array_unique()函數可以移除數組中的重複的值,並返回結果數組;當幾個數組元素的值相等時,只保留第一個元素,其他的元素被刪除。代碼示例:<?
  • PHP基礎
    mt_rand() //獲取隨機數//查詢print_r()//添加值$arr1['six']='ffffff';//print_r($arr1);//編輯值$arr1['five']='zzzzzzz';//print_r($arr1);//數組變量後面中括號中鍵值沒有的就添加,有的就編輯//刪除值unsetunset
  • JavaScript:學會splice()數組操作
    如果不知道Array.prototype.splice的使用的方法那很有可能就要被扣分了。使用javascript數組類型內置的splice方法僅需一行代碼即可輕鬆實現對數組元素進行插入、刪除、替換操作。
  • Python語言中使用array模塊實現動態數組的操作
    背景對於動態數組諸如創建、插入、刪除、查詢大小等操作,在C/C++語言中,可以使用標準庫中的vector類實現,而在python語言中,也同樣提供了內置的array模塊實現類似的功能。Python中的array類似於列表list,如都可以動態增刪元素,但又有所區別,list中存儲的元素類型可以不一樣,但array中元素類型必須完全一樣。另外,由於list中每個元素同時存儲了其地址即指針(用以標記每個元素的數據類型)和實際的數據,所以,在存儲及操作效率上,array又遠遠高於列表。
  • PHP中__unset()方法詳解
    看這個方法之前呢,我們也先來看一下 unset() 函數,unset()這個函數的作用是刪除指定的變量且傳回true,參數為要刪除的變量。那麼如果在一個對象外部去刪除對象內部的成員屬性用unset()函數可以嗎?
  • 你真的了解JS中的數組嗎?——數組API的總結
    在JS中,數組是一個非常重要的知識點,不管是在面試還是在日常工作中,都非常需要;而該文章,不去深究數據的定義方法等,而只是總結相應的API並簡單的介紹相應方法的應用;如下圖所示,是我本篇文章介紹的相應的數組方法。
  • PHP數組函數有哪些?
    2、數組統計函數count()函數定義:count() 函數返回數組中元素的數目。php$array = array( "php基礎"=>"php", "java基礎"=>"java", "jsp基礎"=>"jsp");echo key($array); echo "<br>";echo current($array); echo "<br>";echo next($array); echo "<br>";echo end
  • js 根據值刪除數組元素
    js刪除數組元素1,其實很簡單,就是網上文章查的寫得有點太專業了,就是這個splice方法的值解釋的有點難理解,要是像根據下標刪除就直接把arr.splice(1,1)拿出來就可以了。2,下面我把代碼粘貼出來大家可以直接複製測試一下let array = ['a', 'b', 'c', 'd', 'e', 'f','d'];//根據數組元素的值刪除指定元素,第一個參數是要刪除的數組,第2個是要刪除的值function delitem
  • PHP 垃圾回收機制詳解
    PHP會將其在內存中銷毀;這是PHP的GC垃圾處理機制,防止內存溢出。當一個PHP線程結束時,當前佔用的所有內存空間都會被銷毀,當前程序中所有對象同時被銷毀。GC進程一般都跟著每起一個SESSION而開始運行的.gc目的是為了在session文件過期以後自動銷毀刪除這些文件.二、__destruct /unset __destruct() 析構函數,是在垃圾對象被回收時執行。
  • php中常用的數組函數,都在這裡,有你不認識的嗎?
    至此,我們就已經熟悉了如何利用php對mysql資料庫進行增刪改查的操作,學習了資料庫之後,我們來熟悉一些php中常用到的函數,今天我們就來學習php中常用到的數組函數。4、array_keys函數array_keys函數用於取得數組內的所有鍵值,這是一個非常實用的數組函數,格式很簡單:array_keys(數組),例子如下:array_keys($arr);5、array_poparray_pop用於刪除數組當中的最後一個元素,例子如下:array_pop($shuzu);//刪除$shuzu這個數組內的最後一個元素
  • JavaScript中原生Array數組方法詳解
    JS中,數組可以通過陣列構造函數或[]字面量的方式創建。數組是一個特殊的對象,繼承自對象原型,但用typeof運算判斷時,並沒有一個特定的值,仍然返回'對象'。但使用[] instanceof Array返回true。這說明,js中存在一個類數組的對象,就像字符串對象或arguments對象。
  • js中splice的用法詳解
    語法let arrDeletedItems = array.splice(start[, deleteCount[, item1[, item2[, ...]]]])start: 開始下標deleteCount: 從start開始,刪除的元素數量,包含start自身item1...: 新增的數組元素返回一個包含被刪除元素的數組,如果沒有刪除任何元素,則返回空數組。
  • js中的Array對象屬性和方法整理
    reverse() 顛倒數組中元素的順序。 shift() 刪除並返回數組的第一個元素 slice() 從某個已有的數組返回選定的元素 sort() 對數組的元素進行排序 splice() 刪除元素,並向數組添加新元素。 toSource() 返回該對象的原始碼。