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