PHP 4.0 Bug #8106 Updated: array_pop problem when using against an array returned from a class
| From: | sniper@php.net | Date: | Thu, 07 Dec 2000 08:13:01 +0000 |
| Subject: | PHP 4.0 Bug #8106 Updated: array_pop problem when using against an array returned from a class | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-40312@lists.php.net to get a copy of this message | ||
ID: 8106
Updated by: sniper
Reported By: drew@cwa.co.nz
Status: Open
Bug Type: Documentation problem
Assigned To:
Comments:
Reclassified as documentation problem.
array_pop($arr) (and array_shift($arr) ?) returns NULL in case the $arr is
an empty array or it isn't an array at all.
--Jani
Previous Comments:
---------------------------------------------------------------------------
[2000-12-05 06:15:12] sniper@php.net
If you pass a non-array to array_pop() it just displays an
error message.
After checking the sources for this function, it looks
like it doesn't return anything in case of this error.
Do you mean it should return FALSE in case of this error?
(I think it should)
But if you pass an empty array for array_pop() it
won't return anything but will not display any error
messages either which I think is the right behaviour.
--Jani
---------------------------------------------------------------------------
[2000-12-04 21:10:00] drew@cwa.co.nz
Seems to return no TRUE value when using array_pop () on an array returned by a class.
Code Example:
<?
class Form {
function parse ($arg) {
ereg("(.*)&[(.?)]", $arg, $query);
return $query;
}
}
$form = new Form;
$output = $form->parse($QUERY_STRING);
$number = array_pop($output);
if ($number) { echo "$number exists"; }
foreach ($output as $tmp) {
if (($tmp)&&($tmp != $QUERY_STRING)) {
echo "$tmp<Br>";
}
}
?>
---------------------------------------------------------------------------
Full Bug description available at: http://bugs.php.net/?id=8106