Edit report at https://bugs.php.net/bug.php?id=12129&edit=1

 ID:                 12129
 Comment by:         KayL at cust dot in
 Reported by:        dmertens at zyprexia dot com
 Summary:            array_remove()
 Status:             Not a bug
 Type:               Feature/Change Request
 Package:            Feature/Change Request
 Operating System:   Linux
 PHP Version:        4.0.6
 Block user comment: N
 Private report:     N

 New Comment:

Fcuk. Ofc I meant:


$needle = "bar";
$hackstack = Array("foo"=>"bar", 0=>"red", "would be"=>"cool");
array_remove($needle, $hackstack) = Array(0=>"red", "would be"=>"cool");

$needle = Array("cool", 0xB16B00B5);
$hackstack = Array("foo"=>"bar", 8=>0xB16B00B5, "would be"=>"cool");
array_remove($needle, $hackstack) = Array("foo"=>"bar");


Previous Comments:
------------------------------------------------------------------------
[2012-08-30 19:14:31] KayL at cust dot in

No it is not.
What if I do not know the key, but want to delete exactly that array element?


Examples:
---------
$needle = "foo";
$hackstack = Array("foo"=>"bar", 0=>"red", "would be"=>"cool");
array_remove($needle, $hackstack) = Array(0=>"red", "would be"=>"cool");

$needle = Array("would be", 0);
$hackstack = Array("foo"=>"bar", 0=>"red", "would be"=>"cool");
array_remove($needle, $hackstack) = Array("foo"=>"bar");


Function:
---------
function array_remove(mixed $needle, Array $hackstack)
{
    if(empty($hackstack)) return Array();

    $new_array = Array();
    foreach($hackstack as $key=>$value)
    {
        if($value != $needle)
        {
            $new_array[$key] = $value;
        }
    }
    return $new_array;
}

------------------------------------------------------------------------
[2001-07-13 03:44:41] z...@php.net

Thank you for the suggestion! However this functionality is already part of PHP.

Use:
   unset ($array['key']);

------------------------------------------------------------------------
[2001-07-13 03:21:58] dmertens at zyprexia dot com

I would like to see an function called array_remove(needle, haystack) with 
removes an item from an associative (or indexed) array.

Currently i have a workaround which loops the array. During the loop a new 
array is created. When the loop finds the item which has to be removed, it skip 
the current item.

After the loop, the new array is returned. A function like this would complete 
the array functions.

Dave Mertens
dmert...@zyprexia.com

------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=12129&edit=1

Reply via email to