ตัวอย่างโค้ด
<?php
$my_string = "456,789,23, 4, 019";
$my_str_arr = preg_split("/,/", $my_string);
print_r($my_str_arr);
$my_string = "00, 876, 5432, 1234, 0";
$my_str_arr = explode(",", $my_string);
print_r($my_str_arr);
?>
ผลลัพธ์
Array
(
[0] => 456
[1] => 789
[2] => 23
[3] => 4
[4] => 019
)
Array
(
[0] => 00
[1] => 876
[2] => 5432
[3] => 1234
[4] => 0
)
คำอธิบาย
- preg_split() - Regex Split (Pattern:
/,/) - explode() - Simple String Split (Faster, No Regex)
- ทั้งคู่เก็บ Spaces ไว้ (ต้อง
trim()หรือarray_map('trim', ...))
Best Practice: explode + array_map
<?php
$str = "456, 789, 23, 4, 019";
$arr = array_map('trim', explode(',', $str));
print_r($arr);
// Array ( [0] => 456 [1] => 789 [2] => 23 [3] => 4 [4] => 019 )
?>
str_getcsv() สำหรับ CSV จริง
ถ้าข้อมูลมี Quotes, Escaped Commas:
<?php $csv = '"Hello, World","456","789"'; $arr = str_getcsv($csv); print_r($arr); // Array ( [0] => Hello, World [1] => 456 [2] => 789 ) ?>
Performance
explode()- เร็วที่สุด สำหรับ Simple Delimiterpreg_split()- ช้ากว่า ใช้เมื่อ Pattern Complexstr_getcsv()- สำหรับ CSV Format มาตรฐาน