ID: 26730 User updated by: tomas dot matousek at matfyz dot cz Reported By: tomas dot matousek at matfyz dot cz Status: Bogus Bug Type: Scripting Engine problem Operating System: windows PHP Version: 5.0.0b2 (beta2) New Comment:
It should be so, but it is not. I've tested the following code: var_dump(explode(",","a,b,c,d,e,f",-8)); var_dump(explode(",","a,b,c,d,e,f",0)); var_dump(explode(",","a,b,c,d,e,f",1)); and got the following results (in PHP 5.0.0b2 as well as in PHP 4.3.4): array(2) { [0]=> string(1) "a" [1]=> string(9) "b,c,d,e,f" } array(1) { [0]=> string(11) "a,b,c,d,e,f" } array(1) { [0]=> string(11) "a,b,c,d,e,f" } IMHO there is a bug in the case the value is < -1. Moreover, there is no specification in manual of what the function should return if the value <= 0 (i.e. that -1 means infinity and values <-1 mean 1). Tomas Matousek Previous Comments: ------------------------------------------------------------------------ [2003-12-28 14:50:16] [EMAIL PROTECTED] Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php When number parts is <0 the value defaults to 1, when it is 0 it simply returns the specified string. ------------------------------------------------------------------------ [2003-12-28 07:26:01] tomas dot matousek at matfyz dot cz Description: ------------ The explode() function misbehaves if the limit parameter has invalid value. Reproduce code: --------------- explode(",","a,b,c,d,e,f",-8); explode(",","a,b,c,d,e,f",0); Expected result: ---------------- Warning + returning FALSE Actual result: -------------- invalid value is treated as if it was 2 and 1 respectively ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=26730&edit=1