Bug #3289: min() and max() have wierd problems when using a mixed int and string array.

From: Date: Mon, 24 Jan 2000 00:09:14 +0000
Subject: Bug #3289: min() and max() have wierd problems when using a mixed int and string array.
Groups: php.dev 
Request: Send a blank email to php-dev+get-14861@lists.php.net to get a copy of this message
From: c.just@its.uq.edu.au Operating system: Linux and Win32 PHP version: 3.0.14 PHP Bug Type: Misbehaving function Bug description: min() and max() have wierd problems when using a mixed int and string array. I have found a very strange problem with the min() and max() functions. I just thought I'd check with the list first before I submitted it. It seems both functions have problems when there are a mix of strings and integers. Even thought the strings are actually numbers(no alpha chars) Max has a problem when there is a string first. I have tested this in PHP Linux 3.0.14 PHP Win32 3.0.13 PHP Win32 3.0.5 Try the code below out. <? echo "Array values<BR>"; $stats = array(40,10,120,100,380); for($i=0;$i<count($stats);$i++) echo "$i - ".$stats[$i]."<BR>"; echo "<HR>"; $stats = array(40,"10",120,100,"380"); $high = max($stats); $low = min($stats); echo "Array with Mixed String and Integers<BR>"; echo "Min - ".$low."<br>"; echo "Max - ".$high."<br><HR>"; $stats = array("40","10",120,100,"380"); $high = max($stats); $low = min($stats); echo "Array with Mixed String and Integers, With String as first element<BR>"; echo "Min - ".$low."<br>"; echo "Max - ".$high."<br><HR>"; $stats = array(40,10,120,100,380); $high = max($stats); $low = min($stats); echo "Array with Integers Only<BR>"; echo "Min - ".$low."<br>"; echo "Max - ".$high."<br><HR>"; $stats = array(40,"10",120,100,"380"); // CONVERT ALL VALUES TO INTEGERS for ($i=0;$i<count($stats);$i++) $stats[$i]=intval($stats[$i]); $high = max($stats); $low = min($stats); echo "Array with Mixed String and Integers converted to integers<BR>"; echo "Min - ".$low."<br>"; echo "Max - ".$high."<br><HR>"; ?>

« previous php.dev (#14861) next »