Re: Breaking up data efficiently

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

 



On Tue, 28 Jun 2005, Wee Keat wrote:

Hi All,

I'm working on an aircraft booking system and it has multiple
origin/destination data, concatenated into a single line:


/***** BEGIN DATA *****/

Melbourne, AU, 21-07-2005 14:00:00|Perth, AU, 21-07-2005 18:00:00|Perth,
AU, 25-07-2005 14:00:00|Melbourne, AU, 25-07-2005 18:00:00

/***** END DATA *****/


As you can see, each origin/destination is separated by a pipe '|', and
then, each origin/destination data has its location, country and
datetime of departure/arrival, separated by comma ','.

I'm splitting them up into array of location, country and datetime using
the following:


/***** BEGIN CODE *****/

$itenary = explode('|', $booking->booking_flight_details);

$size = count($itenary);

for($i=0; $i < $size; $i++) {
   list($path[$i]['location'],
        $path[$i]['country'],
        $path[$i]['datetime']) = explode(',', $itenary[$i]);
}

/***** END CODE *****/



*Question*: Is the above the code an effective way to do it? Or is there
a better/faster way?

I suppose it depends on how many records you're going to have to split up... here's another way, but I don't know if it's faster -- I'll let you time it -- and it's certainly not as readable...

$bits = split("[|,]", $booking->booking_flight_details);
$size = count($itenary);
for ( $i = 0; $i < $size; $i += 3 ) {
    $path[$i]['location'] = $bits[$i];
    $path[$i]['country'] = $bits[$i + 1];
    $path[$i]['datetime']  = $bits[$i + 2];
}

--
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