Làm cách nào để tách văn bản trong PHP?

Hàm split[] sẽ chia một chuỗi thành nhiều phần tử khác nhau, ranh giới của mỗi phần tử dựa trên sự xuất hiện của mẫu trong chuỗi

Giới hạn tham số đầu vào tùy chọn được sử dụng để biểu thị số lượng phần tử mà chuỗi sẽ được chia thành, bắt đầu từ đầu bên trái của chuỗi và hoạt động về bên phải

PHP cho phép bạn chia một dòng văn bản thành các phần cấu thành của nó. Ví dụ: nếu bạn đang đọc từ một tệp văn bản theo từng dòng, bạn có thể phải ngắt một dòng như thế này

Thăm dò ý kiến ​​số 1, 1500, 250, 150, 100, 1000

Nếu đây là một cuộc thăm dò ý kiến, và bạn muốn hiển thị kết quả cho tất cả mọi người xem, thì bạn có thể đang cố gắng in nội dung nào đó như thế này trên trang

Bình chọn số 1
người trả lời. 1500
Đáp án A. 250
đáp án B. 150
đáp án C. 100
đáp án D. 1000

Dòng văn bản được phân tách bằng dấu phẩy. Khi dòng được đọc [chúng ta sẽ xem cách thực hiện trong phần sau], bạn sẽ chuyển nó vào một biến. Sau đó, bạn cần cắt nhỏ văn bản, dựa trên dấu phẩy. Chúng ta có thể mô phỏng điều đó. Đầu tiên, chuyển văn bản vào một biến

$text_line = "Số bình chọn 1, 1500, 250, 150, 100, 1000";

Công việc tiếp theo là tách văn bản này ra để PHP biết về tất cả các phần riêng biệt. Các mảnh chúng tôi muốn là

Bình chọn số 1
1500
250
150
100
1000

Để tách các dòng văn bản, có thể sử dụng chức năng phát nổ [ ] nghe có vẻ huy hoàng. Bạn vừa cung cấp cho nó đoạn văn bản muốn tách và ký tự dùng để tách từng đoạn. Đây là cú pháp

phát nổ [dấu phân cách, string_to_split]

Ở giữa các dấu ngoặc tròn của phát nổ [ ], dấu phân cách bạn muốn sử dụng sẽ xuất hiện trước, theo sau là dấu phẩy, sau đó là chuỗi bạn muốn tách. Đối với dòng mã của chúng tôi ở trên, bạn sẽ làm điều này

$text_line = "Số bình chọn 1, 1500, 250, 150, 100, 1000";
$text_line = phát nổ[ "," , $text_line ];

Vì vậy, chúng tôi đang nói, "Hãy tìm dấu phẩy trong văn bản và chia dòng văn bản thành các phần riêng biệt. " Khi PHP thực hiện công việc của mình, nó đặt tất cả các phần vào biến ở phía bên trái của dấu bằng [ = ], đó là $text_line đối với chúng tôi. Biến này sau đó sẽ là một mảng

Để lấy các phần của mảng, hãy truy cập nó theo cách thông thường. Đây là một số mã để thử

$text_line = "Số bình chọn 1, 1500, 250, 150, 100, 1000";
$text_line = phát nổ[",",$text_line];

in $text_line[0];

?>

Chạy mã và xem điều gì sẽ xảy ra. Sau đó thay đổi 0 của câu lệnh in thành 1, rồi thành 2, rồi thành 3, rồi thành 4, rồi thành 5 và cuối cùng thành 5. Điều gì xảy ra khi bạn nhập 6 làm số Khóa của mảng?

Để xem tất cả các phần của mảng, bạn có thể sử dụng một dạng câu lệnh in khác. Hãy thử thay đổi dòng in trong mã của bạn từ đây

in $text_line[0];

để này

print_r[$text_line];

Chạy mã của bạn và xem điều gì sẽ xảy ra

Bạn sẽ thấy chi tiết mảng của mình được in ra, với tất cả Khóa và Giá trị. Câu lệnh print_r[ ] khá hữu ích khi bạn đang cố gỡ lỗi mã của mình

Và nó cho thấy rằng phát nổ [ ] hoạt động - tất cả các giá trị đều nằm trong một mảng

Một cách khác để truy cập tất cả phần tử được trả về bởi phát nổ [ ] là sử dụng vòng lặp for

$text_line = "Số bình chọn 1, 1500, 250, 150, 100, 1000";
$text_line = phát nổ[",",$text_line];

for [$start=0; $start < đếm[$text_line]; $start++] {

in $text_line[$start]. "
“;

}

Trong vòng lặp for ở trên, chúng tôi đặt giá trị bắt đầu bằng 0. Điều kiện cuối cùng là thế này

$start < đếm[$text_line]

Chúng ta sử dụng hàm đếm[] để lấy số phần tử trong mảng có tên là $text_line. Mỗi lần chạy vòng lặp, PHP kiểm tra xem giá trị trong biến $start có nhỏ hơn bao nhiêu phần tử trong mảng không. Nó thoát ra khỏi vòng lặp khi $start KHÔNG nhỏ hơn count[$text_line]

Bên trong vòng lặp, chúng ta có một câu lệnh in bình thường

in $text_line[$start]. "
“;

Để có được tại mỗi phần tử trong mảng, điều này được sử dụng

$text_line[$start]

Biến được gọi là $start sẽ khác nhau sau mỗi vòng lặp. Vì vậy, giá trị tại mỗi vị trí được in. Các "
" ở cuối chỉ cần thêm một ngắt dòng HTML

Cùng với việc mở rộng một dòng văn bản, bạn sẽ cần biết cách nối các phần lại với nhau. Chúng ta sẽ làm điều đó trong phần tiếp theo

Hàm PHP explode[] chuyển đổi một chuỗi thành một mảng. Mỗi ký tự trong chuỗi được cung cấp một chỉ số bắt đầu từ 0. Giống như hàm imlode[] tích hợp, hàm phát nổ không sửa đổi dữ liệu [chuỗi]

Cú pháp của Hàm explode[]

Hàm explode[] nhận ba tham số

  • dải phân cách
  • chuỗi để chuyển đổi thành một mảng
  • và giới hạn

Cú pháp đầy đủ trông như thế này

explode[separator, string, limit]

Không giống như implode[] hoạt động ngay cả khi dấu tách không được cung cấp, hàm explode[] sẽ không hoạt động nếu không có dấu tách. Vì vậy, cũng giống như việc tách chuỗi thành mảng, cần phải có dấu tách. Bạn có thể sử dụng tham số giới hạn để chỉ định số lượng mảng dự kiến. nó là tùy chọn

Ví dụ về implode[]

Giả sử tôi có chuỗi "Xin chào thế giới". Nếu chuỗi được truyền vào một hàm explode[], thì

$str = "Hello world";
$newStr = explode[" ", $str];

// We are printing an array, so we can use print_r[]
print_r[$newStr]; 
3 sẽ nhận chỉ số là 0 trong mảng và
$str = "Hello world";
$newStr = explode[" ", $str];

// We are printing an array, so we can use print_r[]
print_r[$newStr]; 
4 sẽ nhận chỉ mục là 1. Hãy nhớ rằng các mảng sử dụng lập chỉ mục dựa trên số không

$str = "Hello world";
$newStr = explode[" ", $str];

// We are printing an array, so we can use print_r[]
print_r[$newStr]; 

Nếu bạn chỉ định một giới hạn trong hàm explode[], [các] chỉ mục sẽ không nhiều hơn con số đó. Ví dụ: nếu bạn chỉ định 2, tất cả các chuỗi sẽ hiển thị, nhưng chỉ mục sẽ không nhiều hơn 2

$str = "CSS, HTML, PHP, Java, JavaScript";
$newStr = explode[" ", $str, 2];

// We are printing an array, so we can use print_r[]
print_r[$newStr]; 

Bạn có thể thấy rằng phần tử đầu tiên lấy chỉ số là 0 và phần còn lại của các phần tử được phân tách bằng dấu phẩy lấy 1. Chỉ số không quá giới hạn 2 quy định

Hàm explode[] xem xét các khoảng trắng trong chuỗi để chia chuỗi thành một mảng. Nếu bạn nhập hai từ khác nhau lại với nhau, chúng sẽ được coi là một

$str = "CSS HTMLPHP Java JavaScript";
$newStr = explode[ " ", $str];

// We are printing an array, so we can use print_r[]
print_r[$newStr]; 

Bạn có thể thấy rằng HTML và PHP được in cùng nhau vì không có khoảng cách giữa chúng

Phần kết luận

Bài viết này đã hướng dẫn bạn cách sử dụng hàm explode[] trong PHP

Lưu ý rằng không giống như implode[] hoạt động mà không có dấu phân cách, dấu phân cách rất quan trọng trong explode[]. Nếu bạn không chỉ định dấu phân cách, thì explode[] sẽ không hoạt động như mong đợi

$str = "CSS, HTML, PHP, Java, JavaScript";
$newStr = explode[$str, 2];

// We are printing an array, so we can use print_r[]
print_r[$newStr]; 

Và nếu bạn để dấu tách dưới dạng một chuỗi trống, bạn sẽ gặp lỗi

Cảm ơn bạn đã đọc

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

Kolade Chris

Nhà phát triển web và nhà văn kỹ thuật tập trung vào các công nghệ giao diện người dùng

Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Làm cách nào để tách văn bản theo khoảng trắng trong PHP?

Để chia chuỗi thành các từ trong PHP, sử dụng hàm phát nổ[] với khoảng trắng làm dấu phân cách . Hàm phát nổ[] trả về một mảng chứa các từ là các phần tử của mảng.

Làm cách nào để tách chuỗi và số trong PHP?

Phương pháp 1. Sử dụng chức năng preg_match_all[]. Ghi chú. hàm preg_match[] được sử dụng để trích xuất các số từ một chuỗi. .
Sử dụng chức năng preg_match_all[]
Sử dụng hàm filter_var[]
Sử dụng hàm preg_replace[]

Làm cách nào để ngắt chuỗi thành mảng trong PHP?

Hàm phát nổ PHP[] chuyển đổi một chuỗi thành một mảng . Mỗi ký tự trong chuỗi được cung cấp một chỉ số bắt đầu từ 0. Giống như hàm imlode[] có sẵn, hàm phát nổ không sửa đổi dữ liệu [chuỗi].

Hàm split trong PHP là gì?

PHP - Hàm split[] . divide a string into various elements, the boundaries of each element based on the occurrence of pattern in string.

Chủ Đề