CodeIgniter แยกที่อยู่คอลัมน์เดียว ให้ออกมาเป็นส่วนๆในรูปแบบอาร์เรย์ เลขที่ หมู่ที่ ถนน ตำบล อำเภอ จังหวัด
ตัวอย่างการสร้างฟังก์ชั่นสำหรับแยกที่อยู่คอลัมน์เดียว ให้ออกมาเป็นส่วนๆในรูปแบบอาร์เรย์
public function setFormAddress($address)
{
$param = array(
'address_num' => '',
'address_group' => '',
'address_road' => '',
'address_sub_district' => '',
'address_district' => '',
'address_province' => ''
);
$right_address = '';
if(trim($address) != ''){
$exp = explode('เลขที่ ' , $address);
if( isset($exp[1]) && trim($exp[1]) != '' ){
$right_address = $exp[1];
$arr = explode(' ' , $exp[1]);
if( isset($arr[0]) && trim($arr[0]) != '' ){
$param['address_num'] = $arr[0];
}
}
if($right_address != ''){
$exp = explode('หมู่ ' , $right_address);
if( isset($exp[1]) && trim($exp[1]) != '' ){
$right_address = $exp[1];
$arr = explode(' ' , $exp[1]);
if( isset($arr[0]) && trim($arr[0]) != '' ){
$param['address_group'] = $arr[0];
}
}
}
$check_bangkok = 0;
if($right_address != ''){
$exp = explode('ถ.' , $right_address);
if( isset($exp[1]) && trim($exp[1]) != '' ){
$right_address = trim($exp[1]);
$arr = explode('ต.' , $right_address);
if( !isset($arr[1]) ){
$arr = explode('แขวง' , $right_address);
if(isset($arr[1])){
$check_bangkok = 1;
}
}
if( isset($arr[0]) && trim($arr[0]) != '' ){
$param['address_road'] = trim($arr[0]);
}
}
}
if($right_address != ''){
$exp = explode('ต.' , $right_address);
if( !isset($exp[1]) ){
$exp = explode('แขวง' , $right_address);
}
if( isset($exp[1]) && trim($exp[1]) != '' ){
$right_address = trim($exp[1]);
$arr = explode('อ.' , $right_address);
if( !isset($arr[1]) ){
$arr = explode('เขต' , $right_address);
if(isset($arr[1])){
$check_bangkok = 1;
}
}
if( isset($arr[0]) && trim($arr[0]) != '' ){
$param['address_sub_district'] = trim($arr[0]);
}
}
}
if($right_address != ''){
$exp = explode('อ.' , $right_address);
if( !isset($exp[1]) ){
$exp = explode('เขต' , $right_address);
}
if( isset($exp[1]) && trim($exp[1]) != '' ){
$right_address = trim($exp[1]);
$arr = explode('จ.' , $right_address);
if( !isset($arr[1]) ){
$arr = explode('กรุงเทพ' , $right_address);
if(isset($arr[1])){
$check_bangkok = 1;
}
}
if( !isset($arr[1]) ){
$arr = explode('กทม' , $right_address);
if(isset($arr[1])){
$check_bangkok = 1;
}
}
if( isset($arr[0]) && trim($arr[0]) != '' ){
$param['address_district'] = trim($arr[0]);
}
}
}
if($right_address != ''){
$exp = explode('จ.' , $right_address);
if( isset($exp[1]) ){
$param['address_province'] = $exp[1];
}else{
if($check_bangkok == 1){
$param['address_province'] = 'กรุงเทพมหานคร';
}
}
}
}
return $param;
}
สำหรับวิธีเรียกใช้จากฟังก์ชั่นอื่นๆใน Controller เดียวกัน
$addrArr = $this->setFormAddress($address);
ตัวแปรอาร์เรย์ $addrArr จะได้ค่าที่แยกข้อมูลออกเป็นส่วนๆไว้ใช้งานต่อไป
สำหรับการนำไปประยุกต์ใช้งาน จะต้องปรับแต่งเพิ่มเติม กรณีที่อยู่มีข้อมูลมากกว่านี้
เช่น มีอาคาร ชั้นที่ ห้องที่ หรือข้อมูลอื่นๆที่มากกว่านี้
ความคิดเห็น
แสดงความคิดเห็น