That is very interesting, thank you. We cannot escape politics, eh?

Jordan



On Sep 19, 2005, at 9:32 AM, Jochem Maas wrote:

Jordan Miller wrote:

On Sep 19, 2005, at 8:31 AM, Jochem Maas wrote:

e.g:

$var = array_pop( explode('-', '1-2-3-4-5') );

.. is bad code (read the manual page for array_pop very carefully) and would work in older versions but the engine has been tightened up to disallow such fauxpas.


Jochem,
Whoa... what do you mean by this, exactly? I am running PHP 5.0.4 and


what I meant an what I wrote apparently don't match up very well :-)
I meant to give a valid example of when you can't pass the return value from a function to another function due to the fact that a reference is expected and in some situation the var you are passing is a reference to 'nothing' - which works in older version of php but is also the cause of a couple of weird/nasty & inexplicable potential seg faults ... it was fixed, Derick opened his mouth, alot of people got angry - personally I don't give a shit because I only use 5.0.x (I'll be waiting until the shitstorm has died down
before trying out 5.0.5 or 5.1 :-)

maybe this helps to explain (alot) better what I was talking about ...
http://phplens.com/phpeverywhere/?q=node/view/214

anyway thanks for the catch Jordan.


$var is correctly set with the code you give above. I could not find anything like you describe in the array_pop manual (see below). Please elaborate on why this is "bad" code.
Jordan
array_pop
(PHP 4, PHP 5)
array_pop -- Pop the element off the end of array
Description
mixed array_pop ( array &array )
array_pop() pops and returns the last value of the array, shortening the array by one element. If array is empty (or is not an array), NULL will be returned.
Note: This function will reset() the array pointer after use.
Example 1. array_pop() example
<?php
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_pop($stack);
print_r($stack);
?>
After this, $stack will have only 3 elements:
Array
(
   [0] => orange
   [1] => banana
   [2] => apple
)
and raspberry will be assigned to $fruit.
See also array_push(), array_shift(), and array_unshift().


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php





--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to