【问题标题】:How can I search for and delete an array element in PHP?如何在 PHP 中搜索和删除数组元素?
【发布时间】:2009-09-15 15:46:34
【问题描述】:

我有一个如下所示的 PHP 数组:

Array
(
 [0] => Array
 (
  [start] => DateTime Object
  (
  )

  [end] => DateTime Object
  (
  )

  [comment] => A comment.
 )

 [1] => Array
 (
  [start] => DateTime Object
  (
  )

  [end] => DateTime Object
  (
  )

  [comment] => Another comment.
 )
)

我想创建一个函数,从数组中删除与函数输入匹配的元素(开始、结束、注释),如果不存在则返回 false。是否已经有一个 PHP 函数可以做到这一点?

【问题讨论】:

    标签: php arrays search collections


    【解决方案1】:

    你的意思是array_search()

    while (($pos = array_search($input, $multiArray)) !== false) {
        unset($multiArray[$pos]);
    }
    

    【讨论】:

      【解决方案2】:

      不完全是。你可以这样做:

      function array_remove(&$array, $search, $strict = false) { 
          $keys = array_keys($array, $search, $strict);
          if(!$keys)
              return false;
          foreach($keys as $key)
              unset($array[$key]);
          return count($keys);
      }
      

      与使用 array_search() 不同,如果有多个匹配条目,这将起作用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-14
        • 2016-05-20
        相关资源
        最近更新 更多