You are here: Re: Array_merge() Question « PHP Programming Language « IT news, forums, messages
Re: Array_merge() Question

Posted by gosha bine on 06/30/07 10:57

Tyrone Slothrop wrote:
> I am writing a script to upload data to a delimited text file. The
> data is in the format:
> recordID \t the rest of the data ...
>
> It is significant that the recordID's are unique and that the newly
> uploaded data replaces the old data in the event of duplicate
> recordID's.
>
> The solution I came up with (trying to avoid having to loop through
> all of the records of both files looking for dupes) was to:
> * treat both files as arrays using file()
> * assign the keys of each line on each array using the alpha+recordID
> (prevents renumbering of key when ...)
> * running array_merge ($old_data, $new_data)
> * running ksort() on merged data to sort by recordID
> * imploding the data on \n and writing to the data file
>
> This seems to be working as planned. However, I am really concerned
> that the old data will not be overwritten by new when running
> array_merge.
>
> Comments, suggestions, snark, flames? TIA!
>
> The (simplified) code:
> [snip]

I've looked into your problem and I think I can suggest simpler code

//

function merge($old, $new) {
$new = str_replace("\t", "~\t", $new);
$all = array_merge($old, $new);
sort($all);
$all = implode("\n", $all);
$all = preg_replace('/(\d+) .* \n \1 ~ (.*)/x', "$1$2", $all);
$all = str_replace('~', '', $all);
return $all;
}

#test

$a = array(
'1 bbb',
'2 ccc',
'7 vvv',
'5 zzz',
);

$b = array(
'3 XXX',
'2 CCCC',
'5 ZZZ',
'9 TTTT',
);


echo merge($a, $b);

//


Although I agree with Andrew you should use databases for this



--
gosha bine

extended php parser ~ http://code.google.com/p/pihipi
blok ~ http://www.tagarga.com/blok

 

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

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