PHP中unset,array_splice刪除數組中元素的區別

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()函數刪除的話,數組的索引值沒有變化。

轉載于:https://www.cnblogs.com/chenxiaonian/p/6682243.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/372459.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/372459.shtml
英文地址,請注明出處:http://en.pswp.cn/news/372459.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

dart服務器開發性能,DartVM服務器開發(第四天)--代碼優化

優化請求上一篇文章中&#xff0c;我們通過依賴第三方http_server這個包實現將html頁面返回給瀏覽器&#xff0c;但是一般的服務器都包含請求html&#xff0c;json格式的傳遞&#xff0c;這樣就有可能造成了混亂&#xff0c;下面我們使用http_server這個包進行優化吧&#xff0…

JBox2D和JavaFX:事件與力量

在昨天的示例中&#xff0c;您看到了如何創建一個簡單的世界并使用WorldView進行顯示&#xff0c;以及如何提供自定義渲染器。 現在&#xff0c;我們將添加一些用戶輸入。 我們將創建一個類似于彈球機中的鰭狀肢的控件。 為此&#xff0c;我們將創建一個關節。 在JBox2D中&…

【Android】SVG和VectorDrawable——相關格式轉換

SVG是矢量圖&#xff0c;剛接觸尚不能仔細介紹&#xff0c;但只需記得一點&#xff1a;放大不失真&#xff0c;存儲也方便。 因為多數戶型圖使用SVG格式&#xff0c;Android要用的話必須通過相關轉換工具&#xff0c;將原SVG格式文件&#xff0c;轉換為XML后綴的VectorDrawable…

服務器時間維護制度,網絡設備及服務器日常維護管理制度

第一章總則第一條&#xff1a;為保證機房設備與信息的安全&#xff0c;保障本校服務器及網絡系統在良好、穩定、高效、快速的安全運行。特制定本制度。第二條&#xff1a;為確保中心機房網絡設備特別是服務器安全&#xff0c;根據崗位職責設立機房管理員&#xff0c;負責對機房…

SELinux入門簡介

操作系統有兩類訪問控制&#xff1a;自主訪問控制&#xff08;DAC&#xff09;和強制訪問控制&#xff08;MAC&#xff09;。標準Linux安全是一種DAC&#xff0c;SELinux為Linux增加了一個靈活的和可配置的的MAC。 進程啟動時所擁有的權限就是運行此進程的用戶權限&#xff0c;…

RESTEasy教程第3部分:異常處理

在開發軟件應用程序時&#xff0c;異常處理是顯而易見的要求。 如果在處理用戶請求時發生任何錯誤&#xff0c;我們應該向用戶顯示一個錯誤頁面&#xff0c;其中包含詳細的異常消息&#xff0c;錯誤代碼&#xff08;可選&#xff09;&#xff0c;更正輸入和重試的提示&#xff…

WinForm關閉窗體徹底的退出方式

//System.Environment.Exit(0); //Process.GetCurrentProcess().Kill(); //System.Threading.Thread.CurrentThread.Abort(); System.Diagnostics.Process.GetCurrentProcess().Kill();Application.Exit(); 轉載于:https://www.cnblogs.com/XuPengLB/p/5799178.html

創建css的時候選擇器有哪幾類,CSS3-CSS的選擇器共有幾類?

CSS 3對屬性選擇器的又增加了3種子字符串的匹配方式&#xff1a;E[att^"val"]匹配所有E元素中att屬性的值以“val”開始的所有元素。E[att$"val"]匹配所有E元素中att屬性的值以“val”結束的所有元素。E[att*”val”]匹配所有E元素中att屬性的值中包含字符…

在Grails 2.0中使用Servlet 3.0異步功能

上周&#xff0c;我與某人談論了Grails 2中對Servlet 3.0異步功能的新支持&#xff0c;并意識到我對可用功能并不了解。 所以我想我會嘗試一下并分享一些例子。 該文檔對這個主題有些了解&#xff0c;因此首先介紹一些背景信息。 在3.0規范中進行異步工作的主要方式是javax.ser…

接口怎么實例化?

最開始看到數據庫連接的時候忽然想到這個問題&#xff1a; Connection connull;try {Class.forName(Driver);} catch (ClassNotFoundException e) {e.printStackTrace();}try {conDriverManager.getConnection(url, user, pass);} catch (SQLException e) {e.printStackTrace()…

css中基線指的是哪一條線,如何設置基線網絡_CSS, Vertical Rhythm 教程_W3cplus

首先&#xff0c;當談到排版&#xff0c;我們先要了解基線是什么&#xff1f;維基百科是這樣定義)的&#xff1a;在排版和書法中&#xff0c;基線是以字終sit底線為基礎&#xff0c;并且向兩邊延伸的直線。好極了&#xff0c;但我為什么要忽視他呢&#xff1f;好希望你充滿激情…

libvirt里的面向對象的C語言

C語言&#xff1a;類的聲明和定義 1 // 通用父類的定義2 struct _virClass {3 virClassPtr parent;4 5 unsigned int magic;6 char *name;7 size_t objectSize;8 9 virObjectDisposeCallback dispose; 10 }; 11 typedef struct _virClass virClass; 12 typ…

使用JGroups進行ElasticMQ消息復制

ElasticMQ是一臺消息服務器&#xff0c;具有Scala&#xff0c;Java和與Amazon SQS兼容的接口。 它通過跨服務器群集復制消息來支持有保證的消息傳遞&#xff0c;并通過日志記錄實現消息持久性。 消息復制是ElasticMQ的核心功能之一。 但是&#xff0c;如果您看一下代碼&#xf…

ajax省市二級聯動硬編碼,AJAX請求接受硬編碼的JSON,但不接受軟編碼

這個AJAX請求返回&#xff06;&#xff03;39;成功&#xff06;&#xff03;39;如果PHP中的輸出被復制并粘貼了JSON&#xff0c;但是&#xff06;&#xff03;39;失敗&#xff06;&#xff03;39;如果它是由文件生成的。看看下面api.php中的評論&#xff0c;看看我的意思。$.aj…

Fiddler高級技巧 - 映射路徑到本地文件夾

適用場景&#xff1a; 你是前端開發人員&#xff0c;要開發一個小模塊&#xff0c;需要用到線上的環境&#xff08;賬號、數據、跨域等&#xff09;&#xff0c;但你又沒有權限往線上傳文件你是移動測試人員&#xff0c;需要將一組接口的返回結果替換為另一組&#xff0c;最簡單…

Spring Social入門

像我一樣&#xff0c;無論是添加簡單的Facebook“贊”按鈕&#xff0c;一大堆“共享”按鈕還是顯示時間軸信息&#xff0c;您都不會注意到當前對應用程序“社交化”的熱衷。 每個人都在做這件事&#xff0c;包括Spring的家伙&#xff0c;事實上&#xff0c;他們提供了一個稱為S…

apache ajax 跨域訪問,Apache 實現AJAX跨域請求

當使用ajax跨域請求時&#xff0c;瀏覽器報錯&#xff1a;XmlHttpRequest error: Origin null is not allowed by Access-Control-Allow-Origin.肯定是跨域的問題&#xff0c;如果用jsonp或者pro更多&#xff1a;當使用ajax跨域請求時&#xff0c;瀏覽器報錯&#xff1a;XmlHtt…

14、數據庫

數據庫轉載于:https://www.cnblogs.com/quyong/p/6687924.html

EhCache復制:RMI與JGroups

最近&#xff0c;我正在研究一種需要復制緩存的產品。 緩存提供程序已經確定-EhCache&#xff0c;剩下的就是有關傳輸的問題。 哪一個是最佳選擇&#xff1f; 這里的最佳選擇是指性能更好的選擇。 僅在兩個可用傳輸之間進行了性能評估-JGroups和RMI&#xff0c;對其他傳輸不予考…

Oracle 監控語句整理(包括TOP SQL等)

希望能對大家有所幫助&#xff01; 很多時候大家想查看oracle數據庫中的sql語句執行情況&#xff0c;但是又不知道如何是好&#xff0c;今天在這里為大家提供一個sql語句&#xff0c;大家可以通過以下的sql語句查詢Oracle數據庫中Top Sql情況&#xff1a; 查詢結果可按照PCT、總…