Trong khi làm việc với PHP, chúng ta phải đối mặt với nhiều vấn đề liên quan đến Array(mảng) ví dụ như chuyển đổi một mảng thành một chuỗi.
Một chuỗi (String) được sử dụng để lưu trữ các ký tự trong một chuỗi và biểu diễn nó như một thực thể duy nhất với một kiểu dữ liệu duy nhất.
Do đó, việc lưu trữ dữ liệu rất linh hoạt, giúp bạn dễ dàng làm việc, trong khi Array lưu trữ dữ liệu như một thực thể cụ thể và việc lưu trữ dữ liệu là cố định.
Dưới đây là ba cách để chuyển đổi các phần tử mảng thành chuỗi trong PHP.
Hàm Implode () trong PHP:
Hàm IMPLODE () là một hàm tích hợp sẵn trong PHP, được sử dụng chủ yếu để nối tất cả các phần tử của một mảng đã khai báo thành một chuỗi.
Hàm implode () hoạt động tương tự như hàm Joint () trong PHP và trả về giá trị dưới dạng một chuỗi.
LƯU Ý:
Mảng được biểu diễn dưới dạng một chuỗi, nhưng kiểu dữ liệu cơ sở vẫn là mảng. Nếu chúng ta sử dụng hàm gettype () trên chuỗi được chuyển đổi, nó sẽ vẫn hiển thị một mảng.
Syntax -> implode (separator, array)
Ở đây dấu phân tách đề cập đến những gì chúng ta phải thêm vào giữa các phần tử của một mảng trong quá trình chuyển đổi nó thành một chuỗi.
Giá trị mặc định là một chuỗi rỗng "", nhưng chúng ta có thể thêm nhiều giá trị khác nhau như "," "-" "_" "+" ";" ":" ...
Ví dụ: Để chuyển một mảng thành chuỗi.
<?php
// Declare an array
$arra = array ("This" , "Array" , "Will" ,
"Be" , "Converted" , "To" , "A" , "String");
// original array
print_r ($arra);
echo " <br> ";
echo " converted array " . " <br> ";
// Converting array elements into strings using implode function
echo implode (" ",$arra);
?>
Kết quả:
Array ( [0] = > This [1] = > Array [2] = > Will [3] = > Be [4] = > Converted [5] = > To [6] = > A [7] = > String )
converted array
This Array Will Be Converted To A String
Diễn giải:
Đầu tiên, chúng ta đã khai báo một mảng với tên $arra và gán một số giá trị cho nó.
Để hiển thị bản gốc, chúng tôi đã sử dụng hàm Print_r, hàm này hiển thị từng mảng riêng biệt.
Và cuối cùng, chúng ta đã sử dụng hàm implode () sẽ chuyển đổi tất cả các phần tử của một mảng thành một chuỗi kèm thêm khoảng cách giữa các phần tử và tên mảng để xác định mảng.
Ví dụ: Để chuyển một mảng thành chuỗi với các tham số khác nhau.
<?php
$arra = array (? This " , " Is " , " An " , " ARRAY" , " ! " );
echo " <h4> "." Default array " . " </h2> ";
print_r ($arra);
echo " <h4> " . " Array to string " . " </h2> ";
echo implode(" ",$arra)."<br>"; // default separator
echo implode("_",$arra)."<br>";
echo implode("-",$arra)."<br>";
echo implode("/",$arra);
echo " <h4> " . " Data type: - " . " </h2> ";
echo gettype ($arra);
?>
Kết quả:
Default array
Array ( [0] => This [1] => Is [2] => An [3] => ARRAY [4] => ! )
Array to string
This Is An ARRAY !
This _ Is _ An _ ARRAY_ !
This - Is - An - ARRAY- !
This / Is / An / ARRAY/ !
Data type: -
Array
Diễn giải:
Đầu tiên chúng ta khai báo một mảng với tên $arra và gán một số giá trị.
Để hiển thị bản gốc, chúng ta đã sử dụng hàm Print_r. Và sau đó, chúng ta đã sử dụng hàm implode () sẽ chuyển đổi tất cả các phần tử của mảng thành một chuỗi với khoảng trắng ở giữa.
Cuối cùng, chúng tôi đã sử dụng hàm gettype () trên mảng đã chuyển đổi của chúng tôi để cho thấy rằng ngay cả sau khi chuyển đổi thành chuỗi, kiểu dữ liệu ban đầu của mảng vẫn giữ nguyên.
LƯU Ý: Một lần nữa chúng ta có thể chuyển đổi chuỗi trở lại mảng bằng cách sử dụng hàm explode ()
Ví dụ: Dùng explode() để chuyển đổi chuỗi trở lại mảng
<?php
$strng=" we will convert string back to array ";
echo " <strong> " . " original string -> " . " </strong> " . ($strng) . " <br> ";
//explode function converts an string into array
$arra=explode(" ",$strng);
echo " <strong> " . " converted array -> " . " </strong> " ;
print_r($arra);
?>
Kết quả:
original string -> we will convert the string back to an array
converted array -> Array ( [0] = > we [1] = > will [2] = > convert [3] = > string [4] = > back [5] = > to [6] = > array )
Diễn giải:
Đầu tiên chúng ta khai báo một chuỗi với tên $strng và gán một số giá trị cho nó.
Và sau đó, chúng ta đã sử dụng hàm explode () sẽ chuyển đổi tất cả các phần tử chuỗi trở lại mảng.
Cuối cùng, chúng tôi đã lưu trữ chuỗi được chuyển đổi thành một biến $ arra.
Để hiển thị bản gốc, chúng tôi đã sử dụng hàm Print_r.
Hàm Join () trong PHP
Hàm Join () là một hàm tích hợp sẵn trong PHP thường được sử dụng để nối các mảng và trả về một chuỗi.
Syntax -> join (separator, array)
separator là những gì chúng ta phải thêm vào giữa các phần tử của một mảng trong khi chuyển đổi nó thành một chuỗi. Giá trị mặc định là một chuỗi rỗng "", nhưng chúng ta có thể thêm nhiều giá trị khác nhau như "," "-" "_" "+" ";" ":".
Array là viết tắt của mảng sẽ được nối dưới dạng một chuỗi
Ví dụ: Để chuyển một mảng thành chuỗi bằng cách sử dụng phép nối.
<?php
// PHP Code to implement join function
$arra = array ("This" , "Array" , "Will" ,
"Be" , "Converted" , "To" , "A" , "String");
echo " <strong> " . " original array " . " </strong> " . " <br> ";
// original array
print_r ($arra);
echo " <br> ";
echo " <strong> " . " converted array " . " </strong> " . " <br> ";
// Converting array elements into strings using implode function
echo join ($arra). " <br> ";
echo join (" _ ",$arra);
?>
Kết quả
original array
Array ( [0] = > This [1] = > Array [2] = > Will [3] = > Be [4] = > Converted [5] = > To [6] = > A [7] = > String )
converted array
This Array Will Be Converted To A String
This _ Array _ Will _ Be _ Converted _ To _ A _ String
Diễn giải:
Trong đoạn mã trên, đầu tiên, chúng ta đã khai báo một mảng với tên $arra và gán một số giá trị cho nó
Để hiển thị bản gốc, chúng tôi đã sử dụng hàm Print_r.
Và cuối cùng, chúng ta đã sử dụng hàm join () để chuyển đổi tất cả các phần tử của một mảng thành một chuỗi.
Hàm Json_encode () trong PHP
Hàm Json_encode () là một hàm tích hợp sẵn trong PHP thường được sử dụng để chuyển đổi mảng và đối tượng trong PHP thành biểu diễn chuỗi JSON (JavaScript Object Notation).
LƯU Ý: JSON được sử dụng phổ biến để lấy dữ liệu từ server và hiển thị trên các trang web
Syntax -> json_encode (array / object name)
Array/object name là viết tắt của mảng sẽ được nối dưới dạng một chuỗi.
Ví dụ: để chuyển một mảng thành chuỗi bằng cách sử dụng json_encode
<?php
// Declare multi-dimensional array
$Profile = array(
" f-name " => " ABC ",
" l-name " => " DEF ",
array(
" email " => " abc@def.com ",
" mobile " => " abcdefghij ",
array(" address " =>" klmnopqrst ",
" city " => " OAB ",
" pincode " => " 110090 ",
)
)
);
// Use json_encode() function
$json = json_encode($Profile);
// Display the output
echo($json);
?>
Kết quả
{"f-name":"ABC","l-name":"DEF","0":{"email":"abc@def.com","mobile":"abcdefghij","0":{"address":"klmnopqrst","city":"OAB","pincode":"110090"}
Diễn giải:
Trong đoạn mã trên, đầu tiên chúng ta khai báo một mảng với tên $profile và khai báo một mảng nhiều chiều bên trong biến.
Sau khi chúng ta đã khai báo một biến $json sẽ được sử dụng để giữ giá trị trả về
Và sau đó, chúng ta đã sử dụng hàm json_encode () để chuyển đổi tất cả các phần tử của một mảng thành một chuỗi.
Cuối cùng, chúng tôi đã sử dụng echo ($ json) để lấy chuỗi đầu ra.