Re: combining 2 arrays

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you very much!
It's exactly the code I was looking for!

Lada
PS: my previous ungly code is half long now :)

James Ausmus wrote:
On 10/16/07, Ladislav Andel <ladaan@xxxxxxxxx> wrote:
Hi list!
I read data from 2 databases and for the purpose of displaying the
information at my web interface as one piece
I need to combine the data into one array first.. Here is my problem:

Firstly, it reads from first DB and get this array: (it's a sum of
server names in table)

arrayDB1 = array(array('8', 'SER'),  array('5','Asterisk'))

When finished then it starts reading from second DB
where I would get

arrayDB2 = array(array('6', 'XIP'),  array('4','Asterisk'))


Is there any function where I would get
result = array(array('8', 'SER'),  array('9','Asterisk'), array('6','XIP'))

If you have to have data manipulation when combining the arrays (such
as adding the two separate values for "Asterisk" as per your example),
then there isn't a pre-defined function to do what you want. I'd
change the arrangement of your arrays a bit, so that they looked
something like the following (very untested):

$arrDB1 = array('Asterisk' => 5, 'SER' => 8);
$arrDB2 = array('Asterisk' => 4, 'SER' => 6);

function addArrays($arr1, $arr2)
{
  $res = array();

  if (is_array($arr1) and is_array($arr2))
  {
    $keys = array_merge(array_keys($arr1), array_keys($arr2));
    foreach ($keys as $key)
    {
      $res["$key"] = $arr1["$key"] + $arr2["$key"];  //May have to
check isset of each $arrX["$key"] before addition, not sure
    }
  } else
  {
    //Do appropriate error handling here...
  }
  return $res;
}



Probably, it would be best to add number of Asterisk while cycling
through data of second DB.
The problem could be when databases have thousands of rows in each DB.

I'm just asking in case you know a better approach.

Thank you,
Lada

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




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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux