ID: 12528 Updated by: jeroen Reported By: [EMAIL PROTECTED] Old Status: Open Status: Bogus Bug Type: Arrays related Operating System: linux PHP Version: 4.0.6 New Comment: Array_unique isn't supposed to handle multi-dimension strings, nor objects. See also 10658 Previous Comments: ------------------------------------------------------------------------ [2001-08-02 05:39:03] [EMAIL PROTECTED] My ISP recently upgraded from 4.0.3pl1 to 4.0.6 - i have a script that runs an 'array_unique' on a 2d array. This used to work previously, but now it reduces the array down to a single item. Here is the section of script: // CLEAN UP DUPLICATES THAT DON'T HAVE THE DESCRIPTION, BUT ARE THE SAME SECTION if ( $debug ) echo "<P style='text-align:left'><B>CLEAN UP DUPLICATE SECTIONS</B><BR> <I>[\$idx,\$count]...</I><BR>"; $count = 0; for ( $idx = 0; $idx < count($section_result); ++$idx ) { $comp1 = strtolower($section_result[$idx][0]); $comp2 = strtolower($section_result[$idx+1][0]); $comp3 = strtolower($section_result[$idx-1][0]); if ( $comp1 == $comp2 ) { // IF THIS ENTRY IS THE SAME SECTION AS THE NEXT ONE if ( $section_result[$idx+1][1] != '' ) { $section[$count][0] = $section_result[$idx+1][0]; $section[$count][1] = $section_result[$idx+1][1]; ++$count; } elseif ( $section_result[$idx][1] != '' ) { $section[$count][0] = $section_result[$idx][0]; $section[$count][1] = $section_result[$idx][1]; ++$count; } } elseif ( $comp1 != $comp3 ) { $section[$count][0] = $section_result[$idx][0]; $section[$count][1] = $section_result[$idx][1]; ++$count; } if ( $debug ) echo "[$idx,$count] " . $section[$count-1][0] . " -- " . $section[$count-1][1] . "<BR>"; } // close for if ( $debug ) echo "</P>"; $section = array_unique($section); if ( $debug ) { echo "<P style='text-align:left'><B>UNIQUE SECTIONS AFTER CLEAN-UP</B><BR>"; echo "section count: " . count($section) . " | $count<BR>"; echo "<I>Work it thru a 'for' loop:</I><BR>"; for ( $idx = 0; $idx < $count; ++$idx ) { echo $section[$idx][0] . " -- " . $section[$idx][1] . "<BR>"; } echo "<I>Work it thru a 'foreach' loop:</I><BR>"; foreach ( $section as $message ) { echo $message[0] . " -- " . $message[1] . "<BR>"; } echo "</P>"; echo "<P style='text-align:left'><B>UNIQUE SECTION_RESULT AFTER CLEAN-UP</B><BR>"; foreach ( $section_result as $message ) { echo $message[0] . " -- " . $message[1] . "<BR>"; } echo "</P>"; } ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=12528&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]