代码之家  ›  专栏  ›  技术社区  ›  Eric

如何在PHP中搜索和删除数组元素?

  •  1
  • Eric  · 技术社区  · 16 年前

    我有一个像这样的PHP数组:

    Array
    (
     [0] => Array
     (
      [start] => DateTime Object
      (
      )
    
      [end] => DateTime Object
      (
      )
    
      [comment] => A comment.
     )
    
     [1] => Array
     (
      [start] => DateTime Object
      (
      )
    
      [end] => DateTime Object
      (
      )
    
      [comment] => Another comment.
     )
    )
    

    我想创建一个函数,它从与函数输入匹配的数组中删除一个元素(start、end、comment),如果不存在则返回false。是否已有一个PHP函数可以执行此操作?

    2 回复  |  直到 11 年前
        1
  •  6
  •   soulmerge    16 年前

    猜猜你是什么意思 array_search() :

    while (($pos = array_search($input, $multiArray)) !== false) {
        unset($multiArray[$pos]);
    }
    
        2
  •  2
  •   chaos    16 年前

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

    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() ,如果有多个匹配的条目,这将起作用。

    推荐文章