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

Reply via email to