程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP刪除數組元素的具體函數介紹

PHP刪除數組元素的具體函數介紹

編輯:關於PHP編程

我們在使用進行實際代碼編寫時,經常會和數組打上交道,這對於初學者來說是比較困難的。今天我們就要向大家介紹如何實現PHP刪除數組元素。

PHP中的數組要添加元素非常簡單,直接用賦值就行了,數組的key會自動增加,但是要刪除數組中的元素呢?你想過嗎?是不是很少遇到?我近日在處理一個購物籃程序時遇到了要實現PHP刪除數組元素的問題,尋找了半天,終於找到了刪除數組的方法,其實很簡單.
開始我參照一篇文章《字符串數組,刪除數組元素》(OSO中有)中的方法,用unset,但是有個缺陷.如$a是一個數組:

  1. < ? $a=array("red", "green", "blue", "yellow");   
  2. count($a); //得到4   
  3. unset($a[1]); //刪除第二個元素   
  4. count($a); //得到3   
  5. echo $a[2]; //數組中僅有三個元素,本想得到最後一個元素,但卻得到blue,   
  6. echo $a[1]; //無值   
  7. ?>   
  8.  

也就是說在PHP刪除數組元素後,數組中的元素個數(用count()得到)變了,但數組下標卻沒有重新排列,還必須用刪除數組前的key來操作相應的值.
後來我采用另一種方法,其實根本就不叫"方法",是用PHP4現成的函數array_splice().

  1. < ? $a=array("red", "green", "blue", "yellow");   
  2. count ($a); //得到4   
  3. array_splice($a,1,1); //刪除第二個元素   
  4. count ($a); //得到3   
  5. echo $a[2]; //得到yellow   
  6. echo $a[1]; //得到blue   
  7. ?>   
  8.  

把這個程序和前一個相對比,就可以看到,array_splice()不僅刪除了元素,還把元素重排了,這樣在數組各元素中間就不會有空值(如前例中的$a[1]).

array_splice()其實是替換數組元素的函數,但如果不加替換值就簡單的刪除元素.下面是array_splice()的用法:
array array_splice (array input, int offset [, int length [, array replacement]])

參數input是要操作的數組;offset是從第幾個元素開始,為正時從第一個元素開始數,為負時從最後一個元素開始數;length為要替換/PHP刪除數組元素的個數,省略時就從offset開始到數組結束,也是可正可負,原理和offset一樣;relacement為要替換的值.


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved