Hướng dẫn dùng stringtoarray trong PHP

Ví dụ dưới dây hướng dẫn bạn các cách Convert Strong to Array trong PHP đơn giản

Cách 1 - Convert String to Array bằng SPLIT 

// (A) cho một chuỗi  
$thestring = "FOOBAR";
 
// (B) Cắt các ký tự thành phẩn tử của array
$thearray = str_split($thestring);
print_r($thearray); // F, O, O, B, A, R
 
// (C) Set số ký tự tạo thành array
$thearray = str_split($thestring, 3);
print_r($thearray); // FOO, BAR

Cách 2 - Convert String to Array bằng EXPLODE 

// (A) THE STRING
$thestring = "FOO-BAR";
 
// (B) Convert thành array bằng 1 ký tự '-'
$thearray = explode("-", $thestring);
print_r($thearray); // FOO, BAR

Cách 3 - Convert String to Array bằng PREG SPLIT

// (A) THE STRING
$thestring = "FOO BAR, HELLO WORLD";
 
// (B) SPLIT BY PATTERN
$thearray = preg_split("/(\s|,\s)/", $thestring);
print_r($thearray); // ["FOO", "BAR", "HELLO", "WORLD"]

Trên ví dụ trên ta dùng preg_split() function , điểm đặc biệt là function này dùng 1 tham số để cắt chuỗi thành array là một regular expression ( ở đây là  /(\s|,\s)/ ).

Regular expression còn gọi là Regex là những kỹ thuật viết biểu thức để tìm kiếm chuỗi trùng phù hợp

Cách sử dụng này khá mạnh mẽ bởi có sự xuất hiện của Regex, tuy nhiên nó hơi khó với người chưa biết về Regex.

Cách 4 - Convert String to Array bằng STRING WORD COUNT

// (A) THE STRING
$thestring = "Foo Bar, hello world. Goodbye world3 = John@Doe.";
 
// (B) STR_WORD_COUNT(STRING, FORMAT, LIST)
// (B1) FORMAT là 0 - Trả số lượng từ hợp lệ
echo str_word_count($thestring, 0); // 8
 
// (B2) FORMAT là 1 - Trả về các từ hợp lệ 
$thearray = str_word_count($thestring, 1);
print_r($thearray); // Foo, Bar, hello, world, Goodbye, world, John, Doe
 
// (B3) FORMAT là  2 - Trả về các từ có giá trị kèm vị trí bắt đầu của ký tự đó.
$thearray = str_word_count($thestring, 2);
print_r($thearray); 
/* 0 - Foo,
 * 4 - Bar,
 * 9 - hello,
 * 15 - world,
 * 22 - Goodbye,
 * 30 - world,
 * 39 - John,
 * 44 - Doe
 */

// (C) LIST - Các ký tự được xác đinh là tiếng anh
$thearray = str_word_count($thestring, 2, "3@");
print_r($thearray); 
/* 0 - Foo,
 * 4 - Bar,
 * 9 - hello,
 * 15 - world,
 * 22 - Goodbye,
 * 30 - world3,
 * 39 - John@Doe
 */

str_word_count () có thể không phải là một hàm được sử dụng để chuyển đổi một chuỗi thành một mảng, nhưng nó vẫn có thể làm được điều này.

Hơi khó hiểu, nhưng str_word_count (STRING, MODE, LIST) có 3 tham số.

+ Tham số đầu tiên là chính STRING.

+ Tham số thứ hai là tham số quan trọng "thay đổi" CHẾ ĐỘ của hàm.

  • 0 sẽ chỉ đơn giản là đếm tổng số từ tiếng Anh hợp lệ trong chuỗi. Không phải những gì chúng tôi đang tìm kiếm.
  • 1 sẽ trả về một mảng các từ hợp lệ trong chuỗi - Có, điều này rất hữu ích nếu bạn muốn lọc ra tất cả các từ vô nghĩa trong một chuỗi.
  • 2 làm tương tự như 1. Nhưng chỉ số của mảng sẽ tương ứng với vị trí bắt đầu của từ trong chuỗi.

+ Cuối cùng, tham số LIST cuối cùng là tùy chọn - Chúng ta có thể sử dụng tham số này để ghi đè và yêu cầu PHP chấp nhận danh sách các ký tự này là “từ tiếng Anh hợp lệ”.

Cách 5 - Convert String to Array bằng For Loop

// (A) THE STRING
$thestring = "FOO-BAR";
 
// (B) MANUAL LOOP & SPLIT
$thearray = [];
for ($i=0; $i

Cuối cùng, đây là một giải pháp thay thế "thủ công" - Chúng tôi chỉ sử dụng một vòng lặp for để chạy qua các ký tự của một chuỗi.

Các ký tự của một chuỗi hoạt động giống như một mảng và chúng tôi có thể truy cập chúng qua STRING [N].

Mặc dù điều này có vẻ khá phức tạp, nhưng phần tốt là - Chúng tôi có thể thực hiện tất cả các loại quy tắc và xử lý “đặc biệt” với cách này.

      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.

       ";  
        
      echo " converted array " . " 
      "; // 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.

       "." Default array " . "  ";  
      print_r ($arra);  
        
      echo " 

      " . " Array to string " . "

      "; echo implode(" ",$arra)."
      "; // default separator echo implode("_",$arra)."
      "; echo implode("-",$arra)."
      "; echo implode("/",$arra); echo "

      " . " Data type: - " . "

      "; 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

       " . " original string -> " . "  " . ($strng) . " 
      "; //explode function converts an string into array $arra=explode(" ",$strng); echo " " . " converted array -> " . " " ; 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.

       " . " original array " . "  " . " 
      "; // original array print_r ($arra); echo "
      "; echo " " . " converted array " . " " . "
      "; // Converting array elements into strings using implode function echo join ($arra). "
      "; 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

       " ABC ",   
          " l-name " => " DEF ",  
          array(   
              " email " => "  ",   
              " 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":"","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.