On Sun, Aug 19, 2012 at 11:57 PM, Yasuo Ohgaki <yohg...@ohgaki.net> wrote: > 2012/8/18 Rasmus Lerdorf <ras...@lerdorf.com>: >> On 08/17/2012 05:21 PM, Rasmus Schultz wrote: >>>> >>>> if(($key = array_search($del_val, $messages)) !== false) { >>>> unset($messages[$key]); >>>> } >>>> >>>> Nothing horrible here. >>>> >>> >>> I disagree - this is (or should be) a simple, atomic operation... >>> yet, you've got a function-call, an intermediary variable, a boolean test, >>> and an unset statement repeating the name of the array you're deleting from. >>> >>> This should be a simple statement or function/method-call, and in most >>> other languages it would be... >> >> Really? I can't think of a single language that has a call to remove an >> element by value in a key-value hash. Do you have some examples? What do >> you do with duplicates? >> > > Ruby can do (using irb) > > ruby-1.9.2-p180 :007 > h = {"apple"=>150, "banana"=>300, "lemon"=>300} > => {"apple"=>150, "banana"=>300, "lemon"=>300} > ruby-1.9.2-p180 :008 > h.delete_if { |k,v| v==300 } > => {"apple"=>150} > > May be we should have something like > > array_delete_if($array, function($v, $k=null) { if ($v == 300) return true; })
So array_filter? > > -- > Yasuo Ohgaki > yohg...@ohgaki.net > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > -- Etienne Kneuss http://www.colder.ch -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php