Kể từ phiên bản PHP 4, đã có một số các hàm xử lý chuỗi tiện lợi như implode, explode,… giúp cho công việc phân tích và sàng lọc chuỗi trở nên dễ chịu hơn. Hãy cùng chúng tôi tìm hiểu và làm quen với hàm hàm explode trong php trong bài viết dưới đây bạn nhé!

Hàm explode trong PHP là gì?

Hàm explode trong php cho phép người dùng chuyển một chuỗi sang một mảng dựa trên các ký tự phân cách. Trong thực tế, xử lý chuỗi rất cần thiết và được dùng khá thường xuyên. Ví dụ như khi bạn muốn tách họ và tên của một người nào đó, tách từng từ khóa trong một danh sách từ khóa có thể phân cách bằng những ký tự khác. Cú pháp của hàm explode:

explode(string, separator, limit)

Trong đó:

  • string: là chuỗi cần tách thành mảng
  • Separator: là ký tự hoặc chuỗi ký tự phân cách dùng để phân biệt các phần từ trong chuỗi
  • Limit: là xác định số phần tử của mảng đầu ra
  • >0: là trả về mảng có số phần tử là limit phần từ đầu
  • <0: là trả về mảng có số phần từ limit phần tử cuối
  • 0: là trả về mảng với 1 phần tử

Chú ý: Hàm explode được giới thiệu từ phiên bản PHP 4, tham số limit được thêm vào từ PHP 4.1 và được hỗ trợ giá trị âm từ PHP 5.1.0.

Một số ví dụ thực tế khi sử dụng hàm explode

Một ví dụ đơn giản về explode

Một cách đơn giản nhất để có thể lưu nhiều giá trị vào một cột đó chính là sử dụng dấu phân cách, cách thức này được sử dụng khá nhiều trước đây khi chưa có các công nghệ như JSON, XML,… Ví dụ như trong một bảng dữ liệu để có thể lưu trữ thông tin người dùng trong một cột, người ta sử dụng chuỗi !# để phân tách các thông tin. Ví dụ như: Nguyễn Văn A!#Hà Nội !#anv@allaravel.com

Để có thể bóc tách chuỗi này chúng ta cần sử dụng explode

<?php

$strUserInformation = “Nguyễn Văn A!#19810101!#Hà Nội!#anv@allaravel.com”;

$arrUserInformation = explode(“!#”, $strUserInformation);

print_r($arrUserInformation);

Kết quả cho thấy: Array ( [0] => Nguyễn Văn A [1] => 19810101 [2] => Hà Nội [3] => anv@allaravel.com )

Ví dụ phân tách từ khóa trong một danh sách từ khóa được sử dụng explode

Trong các ứng dụng như CMS, blog,… trong các bài viết chúng ta thường nhập vào một danh sách từ khóa được phân cách với nhau bằng dấu “,” hoặc dấu “;” hoặc dấu “|”,… vậy làm sao để phân cách chuối từ khóa này thành một mảng tiện cho việc xử lý và lưu trữ database?

Ví dụ khi mà danh sách từ khóa, thẻ cho bài viết này như sau: “ xử lý chuỗi trong PHP, explode trong PHP; PHP tách chuỗi | PHP string process”, ở đây dấu phân cách được sử dụng vô cùng đa dạng.

<?php

$keywords =  “xử lý chuỗi trong PHP, explode trong PHP; PHP tách chuỗi | PHP string process”;

$delimiters = array(“,”,”;”,”|”);

$keywords = str_replace($delimiters, $delimiters[0], $keywords);

$arrKeyword= explode($delimiters[0], $keywords);

foreach ($arrKeywordas $key)

{

   // Code xử lý cho từng từ khóa và lưu CSDL

}

Đầu tiên chúng ta cần phải thực hiện replace toàn bộ dấu phân cách về cùng 1 loại, và đưa hầu hết về dấu phẩy. Tiếp theo, sử dụng explode như thông thường để thực hiện chuyển chuỗi thành mảng.

Có thể bạn quan tâm:

Lọc họ tên người sử dụng PHP explode

Trong các ứng dụng để tránh người dùng phải mất quá nhiều thao tác khi nhập họ tên thì chúng ta thường sẽ đưa cả họ và tên đầy đủ vào một ô nhập dữ liệu sau đó xử lý nghiệp vụ mới bóc tách họ, tên người dùng này. Ví dụ như: ‘Nguyễn Văn B”, để có thể bóc tách họ tên trong PHP chúng ta cần sử dụng hàm explode:

<?php

$fullName = “Nguyễn Văn A”;

$arrName = explode(” “, $fullName);

$firstName = array_shift($arrName); //Họ chính là phần tử đầu tiên của mảng

$lastName = array_pop($arrName); //Tên chính là phần tử cuối cùng của mảng

$middleName = implode(” “, $arrName); //Tên đệm chính là kết nối các phần tử còn lại

Trong ví dụ này bạn có thể sử dụng hàm implode, trong PHP hàm này ngược lại với hàm explode. Hàm implode sẽ biến 1 mảng thành 1 chuỗi.

Trên đây là một số thông tin mà chúng tôi muốn chia sẻ đến bạn về hàm explode trong PHP. Mong rằng qua bài viết này bạn sẽ có thể nắm rõ được cách áp dụng explode một cách thành thục nhất khi lập trình PHP. Sử dụng explode sẽ giúp giảm thời gian viết code và các xử lý chuỗi cũng đơn giản hơn khi kết hợp với các vòng lặp trong PHP. Nếu bạn có bất kỳ thắc mắc nào cần xử lý thì hãy để lại bình luận dưới bài viết này để chúng ta cùng nhau thảo luận. 

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

0981578920
icons8-exercise-96