Hi John & all,

  Thanks for your info.

  I have 2 array which populated from MYSQL as shown below :
My program will update status in the temporary table according to compare of 2 arrays, for example from 2 array below:

   in $temptablearr = there 3 elements
   in $currenttablearr = there 2 elements

If value different betweeen $temptablearr and $currenttablearr , the status is change to 'update'. If value are same between $temptablearr and $currenttablearr , no action taken. If there are new elements in $temptablearr and not found in $currenttablearr, the status is change to 'new' If there are elements found in $currenttablearr and not found in $temptablearr , the status is change to 'deleted'

Anyone have any ideas or suggestion how to do this ? Thanks for your help.


$temptablearr = array(0 =>
                             array("chassis_serial_no"=>"1235",
                                   "country"=>"Malaysia",
                                                                   
"card_serial_no"=>"cd-12345",
                                                                   
"card_model"=>"ws8950"),
                      1 =>
                             array("chassis_serial_no"=>"1235",
                                   "country"=>"Malaysia",
                                                                   
"card_serial_no"=>"cd-890",
                                                                   
"card_model"=>"ws1234"),
                                          2 =>
                             array("chassis_serial_no"=>"8888",
                                   "country"=>"Indonesia",
                                                                   
"card_serial_no"=>"cd-12345",
                                                                   
"card_model"=>"ws999"),
                                );


$currenttablearr = array( 0 =>
                             array("chassis_serial_no"=>"1235",
                                   "country"=>"Malaysia",
                                                                   
"card_serial_no"=>"cd-12345",
                                                                   
"card_model"=>"ws8950"),
                          1=>
                             array("chassis_serial_no"=>"1235",
                                   "country"=>"Singapore",
                                                                   
"card_serial_no"=>"cd-890",
                                                                   
"card_model"=>"ws1234"),
                                );




  Below is my test code .

  <?php


$temptablearr = array(0 =>
                             array("chassis_serial_no"=>"1235",
                                   "country"=>"Malaysia",
                                                                   
"card_serial_no"=>"cd-12345",
                                                                   
"card_model"=>"ws8950"),
                      1 =>
                             array("chassis_serial_no"=>"1235",
                                   "country"=>"Malaysia",
                                                                   
"card_serial_no"=>"cd-890",
                                                                   
"card_model"=>"ws1234"),
                                          2 =>
                             array("chassis_serial_no"=>"8888",
                                   "country"=>"Indonesia",
                                                                   
"card_serial_no"=>"cd-12345",
                                                                   
"card_model"=>"ws999"),
                                );


$currenttablearr = array( 0 =>
                             array("chassis_serial_no"=>"1235",
                                   "country"=>"Malaysia",
                                                                   
"card_serial_no"=>"cd-12345",
                                                                   
"card_model"=>"ws8950"),
                          1=>
                             array("chassis_serial_no"=>"1235",
                                   "country"=>"Singapore",
                                                                   
"card_serial_no"=>"cd-890",
                                                                   
"card_model"=>"ws1234"),
                                );


$compare = true;

foreach($temptablearr as $key => $val)
{
   if($currenttablearr[$key] != $val) {
       $compare = false;
   }
   if($compare === false) {
     echo 'update status in table to update<br><br>';
   }else
   if($compare === true){
    echo 'skip, do not shown in page.<br><br>';
   }

}



?>


John Wells wrote:
On 7/28/06, weetat <[EMAIL PROTECTED]> wrote:

I need to compare values in array which populated by database , below is
the code :


Without mentioning how your code performs some unnecessary actions,
and is also full of errors, here's the idea of what you want
(untested):

[code]
// assume at first they are same
$compare = true;

// compare $array1 and $array2, assuming they have same structure
foreach($array1 as $key => $val)
{
// value doesn't match, so set $compare to false and break out of for loop
   if($array2[$key] != $val) {
       $compare = false;
       break;
   }
}

if($compare === false) {
   echo 'arrays did not match.';
}
[/code]

HTH,
John W

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to