php 删除指定数组元素方法

下面提供两款高效的经典的删除数组元素的方法,我们可以指定删除那个就删除,有需要的同学可以参考一下,这里来自php.net.代码如下:

  1. <?php
  2. function deleteFromArray(&$array, $deleteIt, $useOldKeys = FALSE)
  3. {
  4. $key = array_search($deleteIt,$array,TRUE);
  5. if($key === FALSE)
  6. return FALSE;
  7. unset($array[$key]);
  8. if(!$useOldKeys)
  9. $array = array_values($array);
  10. return TRUE;
  11. }
  12. ?>

方法二,代码如下:

  1. <?php
  2. function deleteFromArray(&$array, $deleteIt, $useOldKeys = FALSE)
  3. {
  4. $tmpArray = array();
  5. $found = FALSE;
  6. foreach($array as $key => $value)
  7. {
  8. if($value !== $deleteIt)
  9. {
  10. if(FALSE === $useOldKeys)
  11. {
  12. $tmpArray[] = $value;
  13. }
  14. else
  15. {
  16. $tmpArray[$key] = $value;
  17. }//开源代码phpfensi.com
  18. }
  19. else
  20. {
  21. $found = TRUE;
  22. }
  23. }
  24. $array = $tmpArray;
  25. return $found;
  26. }
  27. ?>