HomeLập trìnhPhpPHP Implode –...

PHP Implode – Chuyển đổi Array thành String với Join


Trong PHP, các implode() hàm là một hàm tích hợp, nhận một mảng và chuyển đổi nó thành một chuỗi. implode() không sửa đổi mảng ban đầu.

Việc mảng đó là mảng được lập chỉ mục hay mảng kết hợp không quan trọng. Khi bạn chuyển mảng sang implode()nó nối tất cả các giá trị thành một chuỗi.

PHP implode() cú pháp

implode() nhận hai giá trị làm tham số – dấu phân cách và mảng bạn muốn chuyển đổi thành chuỗi.

Dấu phân cách có thể là bất kỳ ký tự nào hoặc một chuỗi rỗng. Nó hợp lệ miễn là bạn chỉ định nó trong dấu ngoặc kép. Nếu bạn không chuyển vào dấu phân cách, implode() vẫn hoạt động. Mặt khác, mảng có thể là một mảng kết hợp hoặc một mảng được lập chỉ mục.

Lưu ý: implode() không hoạt động với các mảng lồng nhau.

Cú pháp đầy đủ của một implode() trông như thế này:

implode(" ", $array);

Trong cú pháp trên, khoảng trống (“”) là dấu phân cách và $array là mảng.

Ví dụ về Implode với một mảng được lập chỉ mục

Trong PHP, một mảng được lập chỉ mục giống như tên gọi của nó – mỗi giá trị trong mảng có một chỉ mục được gán tự động cho nó. Bạn cũng có thể chỉ định các chỉ mục nếu muốn.

Đọc thêm  PHP - Không tìm thấy Dotenv?

Dưới đây là một ví dụ về cách implode() hoạt động với một mảng được lập chỉ mục:

<?php
$langs = array("PHP", "JavaScript", "Python", "C++", "Ruby"); 

$newLangs = implode($langs);
// Since we are printing a string, we can use echo to display the output in the browser
echo $newLangs;
?>

ss1-2

Lưu ý rằng tôi đã không vượt qua trong một dấu phân cách và implode() vẫn hoạt động tốt.
Trong ví dụ bên dưới, tôi đã chuyển vào một khoảng trống, dấu phẩy và dấu gạch nối làm dấu phân cách:

<?php
$langs = array("PHP", "JavaScript", "Python", "C++", "Ruby"); 

$newLangsSpace = implode(" ", $langs);
$newLangsComma = implode(", ", $langs);
$newLangsHyphen = implode("-", $langs);

// Since we are printing a string, we can use echo to display the output in the browser
echo $newLangsSpace."<br>"."<br>";
echo $newLangsComma."<br>"."<br>";
echo $newLangsHyphen ."<br>";
?>

ss2-2

Bạn có thể thấy tốt hơn là chỉ định một dấu phân cách để bạn có thể thấy rõ các giá trị.

Ví dụ về Implode với một mảng liên kết

Bạn xác định một chỉ mục được đặt tên với một mảng kết hợp. Hãy xem làm thế nào implode() hoạt động với các mảng kết hợp.

<?php
$person = [
    'first_name' => "Kolade",
    'last_name' => "Chris",
    'likes' => "football and Pro-wrestling",
    'email' => "[email protected]",
];
//That's not my email. Don't bother sending me a message.

$newPerson = implode(" ", $person);
echo $newPerson."<br>";
?>

ss3-2

Bạn có thể thấy các chỉ mục không được in. Để in các chỉ mục, bạn cần đính kèm mảng vào array_keys() phương thức trong khi in mảng:

<?php
$person = [
    'first_name' => "Kolade",
    'last_name' => "Chris",
    'likes' => "football and Pro-wrestling",
    'email' => "[email protected]",
];
// That’s not my email. Don't bother sending me a message.

$newPersonValues = implode(", ", $person)."<br>";
$newPersonKeys = implode(", ", array_keys($person));

echo $newPersonKeys."<br>"; 
echo $newPersonValues;
?>

ss4-2

Để chứng minh rằng mảng ban đầu không bao giờ bị sửa đổi, tôi sẽ in mảng cùng với các biến ẩn:

<?php
$person = [
    'first_name' => "Kolade",
    'last_name' => "Chris",
    'likes' => "football and Pro-wrestling",
    'email' => "[email protected]",
];
// That's not my email. Don't bother sending me a message.

$newPersonValues = implode(", ", $person)."<br>";
$newPersonKeys = implode(", ", array_keys($person));

echo $newPersonKeys."<br>"; 
echo $newPersonValues."<br>";

print_r($person);
?>

Bạn có thể sử dụng tiện ích mở rộng PHP View Chrome để định dạng mảng được in của mình để nó trông đẹp hơn:

Đọc thêm  Cách xuất đồng hồ đếm ngược bằng javascript và php - JavaScript

phpViewer

Suy nghĩ cuối cùng

Trong bài viết này, bạn đã tìm hiểu về implode() chức năng trong PHP và cách thức hoạt động của nó. Chúng tôi đã xem xét cách implode() chức năng cũng hoạt động với cả mảng được lập chỉ mục và mảng kết hợp, với các ví dụ.

Đừng quên điều đó implode() không hoạt động với mảng lồng nhau (mảng đa chiều). Trên thực tế, tôi có thể chứng minh điều đó:

<?php
$persons = array (
  array("Kolade", 22, 03),
  array("Yemi", 15, 12),
  array("Cook", 07, 01),
  array("Oliver", 19, 01)
);

$newPersons = implode($persons);
print_r($newPersons);
?>

ss6-2

Nó không hoạt động theo cách đó bởi vì implode() chỉ hoạt động với mảng phẳng ([ ]) thay vì mảng nhiều chiều ([ [ ] ]). Implode nhìn vào mảng đầu tiên và khi thấy rằng mảng đầu tiên có nhiều mảng trong đó, nó sẽ báo lỗi.

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



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status