You are here: Array comparison question « PHP Programming Language « IT news, forums, messages
Array comparison question

Posted by phpCodeHead on 04/02/07 21:29

Hello fellow codemeisters!

I am needing to parse through two lists of serial numbers for parts
being received into an inventory database. First, is the list of
serial numbers already in the database (these were provided from mfg
and sucked into db via xml web service); the second is a list that
will be populated into a textarea field, via barcode scanning, on the
receiving form during the receiving process (to us, at run time).
Prior to inerting the data, I am needing to display, in a color-coded
fashion, any serial numbers being received that were not provided by
the mfg; as well as the serial numbers being received in that were not
provided by the mfg already. I then need to compare and have say, for
simplicity sake, all matched in "green"; all that were in db but not
received in "red"; and all received in but on in db in "yellow".

I am thinking of using array_diff(). ( believe me, there is a
question coming!! :-) )

The code looks like this:

<?php
// in my real app:
// $array1 is pulled from the db; these are serial numbers for a
single lineitem to be received in on a PO
// $array2 is pulled from the db as well; these are the provided
serial numbers from the xml
$array1 = array("snFromPO" => 100234, 100345, 100456, 100567,
100678);
$array2 = array("snFromXML" => 100234, 100345, 100456, 100678,
100789);
$result = array_diff($array1, $array2);
$result2 = array_diff($array2, $array1);

foreach ( $result AS $diff ) {
echo 'Serial numbers receiving not in database: <div
class="caution">' . $diff . '</div>, ';
}
echo '<br />';

foreach ( $result2 as $diff ) {
echo 'Serial numbers in database not receiving in: <div
class="nogo">' . $diff . '</div>, ';
}
echo '<br />';
?>

As you may have guessed, this returns:

Serial numbers receiving not in database: 100567,
Serial numbers in database not receiving in: 100789,

Finally, the question: As you can see I am passing the two arrays into
array_diff() twice; once to get the diff between $array1 and $array2;
the second to get the diff between $array2 and $array1.

Is this the best approach to take to accomplish my goal? Is there a
better way of doing this?

I appreciate any and all comments, suggestions, and put downs. :-)

Thanks all,

Gene Kelley
PHP Developer
Falkor Group, LLC
Chicago, IL, USA

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация