Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

PHP แยก String คั่น Comma เป็น Array

ตัวอย่างโค้ด

<?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 Delimiter
  • preg_split() - ช้ากว่า ใช้เมื่อ Pattern Complex
  • str_getcsv() - สำหรับ CSV Format มาตรฐาน