Re: [PHP] array_pop() with key-value pair ???
On 16/02/07, Eli [EMAIL PROTECTED] wrote: Hi, Why isn't there a function that acts like array_pop() returns a pair of key-value rather than the value only ? Reason is, that in order to pop the key-value pair, you do: ?php $arr = array('a'=1,'b'=2,'c'=3,'d'=4); $arr_keys = array_keys($arr); $key = array_pop($arr_keys); $value = $arr[$key]; ? I benchmarked array_keys() function and it is very slow on big arrays since PHP has to build the array. benchmark this: end($arr); list($key, $value) = each($arr); -robin -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] array_pop() with key-value pair ???
2007. 02. 16, péntek keltezéssel 10.23-kor Robin Vickery ezt írta: On 16/02/07, Eli [EMAIL PROTECTED] wrote: Hi, Why isn't there a function that acts like array_pop() returns a pair of key-value rather than the value only ? Reason is, that in order to pop the key-value pair, you do: ?php $arr = array('a'=1,'b'=2,'c'=3,'d'=4); $arr_keys = array_keys($arr); $key = array_pop($arr_keys); $value = $arr[$key]; ? I benchmarked array_keys() function and it is very slow on big arrays since PHP has to build the array. benchmark this: end($arr); list($key, $value) = each($arr); array_pop also removes the element from the array so add one more line: unset($arr[$key]); greets Zoltán Németh -robin -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] array_pop() with key-value pair ???
On 16/02/07, Németh Zoltán [EMAIL PROTECTED] wrote: 2007. 02. 16, péntek keltezéssel 10.23-kor Robin Vickery ezt írta: On 16/02/07, Eli [EMAIL PROTECTED] wrote: Hi, Why isn't there a function that acts like array_pop() returns a pair of key-value rather than the value only ? Reason is, that in order to pop the key-value pair, you do: ?php $arr = array('a'=1,'b'=2,'c'=3,'d'=4); $arr_keys = array_keys($arr); $key = array_pop($arr_keys); $value = $arr[$key]; ? I benchmarked array_keys() function and it is very slow on big arrays since PHP has to build the array. benchmark this: end($arr); list($key, $value) = each($arr); array_pop also removes the element from the array so add one more line: unset($arr[$key]); Yeah, but he's not actually popping the last element of $arr, he's just using it to get the last key from $arr_keys. -robin -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] array_pop() with key-value pair ???
2007. 02. 16, péntek keltezéssel 10.47-kor Robin Vickery ezt írta: On 16/02/07, Németh Zoltán [EMAIL PROTECTED] wrote: 2007. 02. 16, péntek keltezéssel 10.23-kor Robin Vickery ezt írta: On 16/02/07, Eli [EMAIL PROTECTED] wrote: Hi, Why isn't there a function that acts like array_pop() returns a pair of key-value rather than the value only ? Reason is, that in order to pop the key-value pair, you do: ?php $arr = array('a'=1,'b'=2,'c'=3,'d'=4); $arr_keys = array_keys($arr); $key = array_pop($arr_keys); $value = $arr[$key]; ? I benchmarked array_keys() function and it is very slow on big arrays since PHP has to build the array. benchmark this: end($arr); list($key, $value) = each($arr); array_pop also removes the element from the array so add one more line: unset($arr[$key]); Yeah, but he's not actually popping the last element of $arr, he's just using it to get the last key from $arr_keys. well, sorry, I didn't examine his code just read his original question saying a function that acts like array_pop() it's now up to him to decide whether he wants to unset that element or not :) greets Zoltán Németh -robin -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] array_pop() with key-value pair ???
Robin Vickery wrote: On 16/02/07, Eli [EMAIL PROTECTED] wrote: Hi, Why isn't there a function that acts like array_pop() returns a pair of key-value rather than the value only ? Reason is, that in order to pop the key-value pair, you do: ?php $arr = array('a'=1,'b'=2,'c'=3,'d'=4); $arr_keys = array_keys($arr); $key = array_pop($arr_keys); $value = $arr[$key]; ? I benchmarked array_keys() function and it is very slow on big arrays since PHP has to build the array. benchmark this: end($arr); list($key, $value) = each($arr); Thanks! that benchmarks with normal speed.. :-) -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] array_pop() with key-value pair ???
Hi, Why isn't there a function that acts like array_pop() returns a pair of key-value rather than the value only ? Reason is, that in order to pop the key-value pair, you do: ?php $arr = array('a'=1,'b'=2,'c'=3,'d'=4); $arr_keys = array_keys($arr); $key = array_pop($arr_keys); $value = $arr[$key]; ? I benchmarked array_keys() function and it is very slow on big arrays since PHP has to build the array. While array_pop() can be acceleraed by the guts of PHP engine. -thanks -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php