From: [EMAIL PROTECTED] Operating system: Windows NT 4.0 build 1381 PHP version: 4.0.6 PHP Bug Type: Arrays related Bug description: array_merge_recursive modifies the first argument
<?php // bug report: // note that $query gets modified by the call to // array_merge_recursive. This should not be. // // //include('../include/util.inc.php'); function dump_array ($array) { // doc // String = dump_array(Array) // returns a long string containing the array, expanded into a // nested unordered list. //statements if(is_array($array)) { echo "<ul>"; while(list($key,$val) = each($array)) { echo "<li>$key => "; if(is_array($val)) { echo "$val"; dump_array($val); } else { echo "$val"; } } echo "</ul>"; } else { if($array != "") { echo "<li>[String] = $array"; } else { echo "<li>Err: No values passed."; } } }; /* addquery example input #1 */ $query = array("select" => array( 0 => "count(*) as 'cases opened'" ), "from" => array( 0 => "table_case" ), "where" => array( 0 => "table_case.creation_time between '%datestart%' and '%dateend%'" ) ); /* example input #2 */ $option = array("select" => array( 0 => "table_bus_org.name" ), "from" => array( 0 => "table_site", 1 => "table_bus_org" ), "where" => array( 0 => "table_site.objid = table_case.case_reporter2site", 1 => "table_bus_org.objid = table_site.primary2bus_org", 2 => "table_bus_org.objid > 0" ), "group by" => array( 0 => "table_bus_org.name" ), "order by" => array( 0 => "count(*)" ) ); /* example output $newquery = array("select" => array( 0 => "table_bus_org.name", 1 => "count(*) as 'cases opened'" ), "from" => array( 0 => "table_case", 1 => "table_site", 2 => "table_bus_org" ), "where" => array( 0 => "table_case.creation_time between '%datestart%' and '%dateend%'", 1 => "table_site.objid = table_case.case_reporter2site", 2 => "table_bus_org.objid = table_site.primary2bus_org", 3 => "table_bus_org.objid > 0" ), "group by" => array( 0 => "table_bus_org.name", ), "order by" => array( 0 => "count(*)", ) ); */ dump_array($query); $newquery = array_merge_recursive($query,$option); dump_array($query); //dump_array($option); //dump_array($newquery); ?> -- Edit bug report at: http://bugs.php.net/?id=14128&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]