Chuyển mảng đa chiều sang JSON PHP

Tuy nhiên, đôi khi bạn muốn lưu trữ các giá trị có nhiều hơn một khóa. Đối với điều này, chúng ta có các mảng đa chiều

PHP - Mảng đa chiều

Mảng nhiều chiều là mảng chứa một hoặc nhiều mảng

PHP hỗ trợ các mảng đa chiều có độ sâu hai, ba, bốn, năm hoặc nhiều cấp độ hơn. Tuy nhiên, mảng sâu hơn ba cấp khó quản lý đối với hầu hết mọi người

Kích thước của một mảng cho biết số lượng chỉ số bạn cần để chọn một phần tử

  • Đối với mảng hai chiều, bạn cần hai chỉ số để chọn một phần tử
  • Đối với mảng ba chiều, bạn cần ba chỉ số để chọn một phần tử

PHP - Mảng hai chiều

Mảng hai chiều là mảng của mảng [mảng ba chiều là mảng của mảng của mảng]

Đầu tiên, hãy nhìn vào bảng sau

NameStockSoldVolvo2218BMW1513Saab52Land Rover1715

Chúng ta có thể lưu trữ dữ liệu từ bảng trên trong một mảng hai chiều, như thế này

$cars = mảng [
  mảng["Volvo",22,18],
  mảng["BMW",15,13],
  array["Saab",5,2],
  array["Land Rover",17,15]
];

Bây giờ mảng hai chiều $cars chứa bốn mảng và nó có hai chỉ số. hàng và cột

Để có quyền truy cập vào các phần tử của mảng $cars, chúng ta phải trỏ đến hai chỉ số [hàng và cột]

Ví dụ

echo $cars[0][0]. ". Trong kho. ". $car[0][1]. ", đã bán. ". $car[0][2]. ".
";
echo $cars[1][0]. ". Trong kho. ". $car[1][1]. ", đã bán. ". $car[1][2]. ".
";
echo $cars[2][0]. ". Trong kho. ". $car[2][1]. ", đã bán. ". $car[2][2]. ".
";
echo $cars[3][0]. ". Trong kho. ". $car[3][1]. ", đã bán. ". $car[3][2]. ".
";
?>

Tự mình thử »

Chúng ta cũng có thể đặt một vòng lặp for bên trong một vòng lặp for khác để lấy các phần tử của mảng $cars [chúng ta vẫn phải trỏ đến hai chỉ số]

JSON là định dạng tốt nhất để truyền dữ liệu qua mạng. Nó là một định dạng dễ dàng phân tích cú pháp tương đối. Đó là lý do tại sao hầu hết API chấp nhận tham số và trả về phản hồi trong JSON

Có các công cụ trực tuyến để chuyển đổi một mảng thành đối tượng JSON. Hướng dẫn này dạy cách tạo một chương trình để chuyển đổi các loại đầu vào mảng PHP khác nhau thành định dạng JSON

Nó có 4 ví dụ khác nhau để chuyển đổi một mảng PHP thành JSON. Chúng quá nhỏ để giúp người mới bắt đầu hiểu khái niệm này một cách dễ dàng

ví dụ nhanh

Ví dụ nhanh này được mã hóa đơn giản bằng giải pháp đơn giản ba dòng. Nó lấy một mảng PHP một chiều và chuyển đổi nó thành JSON


Xem bản trình diễn

Các ví dụ khác từ mảng sang JSON xử lý chuyển đổi mảng đơn giản sang phức tạp. Nó cũng áp dụng tiền sửa đổi [như ánh xạ mảng] trước khi chuyển đổi. Bốn ví dụ là,

  1. Mảng PHP đơn giản đến phức tạp thành JSON
  2. Xóa các khóa mảng trước khi chuyển đổi sang JSON
  3. Chuyển đổi mảng PHP có ký tự có dấu thành JSON
  4. Mảng PHP thành JSON với bản in đẹp

Nếu bạn muốn mã đảo ngược để giải mã các đối tượng JSON thành một mảng, thì bài viết được liên kết có các ví dụ

Xem bản trình diễn trực tuyến này để chuyển đổi một mảng các giá trị được phân tách bằng dấu phẩy thành một đối tượng JSON

1] Mảng PHP đơn giản đến phức tạp thành JSON

Đoạn code này xử lý 3 kiểu dữ liệu mảng thành một đối tượng JSON. Trong PHP, rất dễ dàng để chuyển đổi một mảng thành JSON

Đây là mã một dòng bằng cách sử dụng hàm PHP json_encode[]

PHP Array to JSON';
$array = array[
    100,
    250,
    375,
    400
];
$jsonString = json_encode[$array];
echo $jsonString;

// Associative Array to JSON
echo '

Associative PHP Array to JSON

'; $array = array[ 'e1' => 1000, 'e2' => 1500, 'e3' => 2000, 'e4' => 2350, 'e5' => 3000 ]; $jsonString = json_encode[$array]; echo $jsonString; // multidimensional PHP Array to JSON string echo '

Multidimensional PHP Array to JSON

'; $multiArray = array[ 'a1' => array[ 'item_id' => 1, 'name' => 'Lion', 'type' => 'Wild', 'location' => 'Zoo' ], 'a2' => array[ 'item_id' => 2, 'name' => 'Cat', 'type' => 'Domestic', 'location' => 'Home' ] ]; echo json_encode[$multiArray]; ?>

đầu ra

//PHP Array to JSON
[100,250,375,400]

//Associative PHP Array to JSON
{"e1":1000,"e2":1500,"e3":2000,"e4":2350,"e5":3000}

//Multidimensional PHP Array to JSON
{"a1":{"item_id":1,"name":"Lion","type":"Wild","location":"Zoo"},"a2":{"item_id":2,"name":"Cat","type":"Domestic","location":"Home"}}

2] Xóa các khóa mảng trước khi chuyển đổi sang JSON

Mã này xử lý một kịch bản chuyển đổi JSON khác, điều này phải hữu ích nếu cần. Ví dụ: nếu mảng liên kết chủ đề=>dấu và người dùng chỉ cần các dấu để vẽ nó trong biểu đồ

Nó xóa các khóa do người dùng xác định khỏi một mảng kết hợp và áp dụng json_encode để chuyển đổi nó. Đó là một quá trình gồm hai bước

  1. Nó áp dụng PHP array_values[] để đọc mảng giá trị
  2. Sau đó, nó áp dụng json_encode trên mảng giá trị
To remove assigned associative keys and PHP Array to JSON';
$array = array[
    'e1' => 1000,
    'e2' => 1500,
    'e3' => 2000,
    'e4' => 2350,
    'e5' => 3000
];

$jsonString = json_encode[array_values[$array]];
echo $jsonString;
?>

đầu ra

[1000,1500,2000,2350,3000]

3] Chuyển mảng PHP có dấu sang JSON

Đây cũng là một quy trình gồm hai bước để chuyển đổi mảng dữ liệu chứa các ký tự có dấu

Nó áp dụng mã hóa UTF8 trên các giá trị mảng trước khi chuyển đổi chúng thành một đối tượng JSON

Để mã hóa tất cả các phần tử của mảng đã cho, nó ánh xạ utf8_encode[] dưới dạng gọi lại bằng cách sử dụng hàm Array_map[] của PHP

Chúng ta đã thấy các hàm mảng PHP thường được sử dụng khi làm việc với mảng

For accented characters PHP Array to JSON';
$array = array[
    'w1' => 'résumé',
    'w2' => 'château',
    'w3' => 'façade',
    'w4' => 'déjà vu',
    'w5' => 'São Paulo'
];
$utfEncodedArray = array_map["utf8_encode", $array];
echo json_encode[$utfEncodedArray];
?>

đầu ra

{"w1":"r\u00c3\u00a9sum\u00c3\u00a9","w2":"ch\u00c3\u00a2teau","w3":"fa\u00c3\u00a7ade","w4":"d\u00c3\u00a9j\u00c3\u00a0 vu","w5":"S\u00c3\u00a3o Paulo"}

4] Mảng PHP thành JSON với bản in đẹp

Nó áp dụng cho bản in đẹp trên các thuộc tính JSON đầu ra được chuyển đổi ở định dạng rộng rãi neet

Hàm PHP json_encode[] chấp nhận tham số thứ hai để đặt cờ bitmask. Cờ này được sử dụng để đặt JSON_PRETTY_PRINT nhằm căn chỉnh các thuộc tính JSON đầu ra

Làm cách nào để chuyển đổi dữ liệu mảng thành JSON trong PHP?

Tệp PHP được giải thích. .
Chuyển đổi yêu cầu thành một đối tượng, sử dụng hàm PHP json_decode[]
Truy cập cơ sở dữ liệu và điền vào một mảng với dữ liệu được yêu cầu
Thêm mảng vào một đối tượng và trả về đối tượng dưới dạng JSON bằng hàm json_encode[]

Làm cách nào để mã hóa JSON một mảng nhiều chiều?

A PHP to JSON multidimensional array example Here's how that works. This code:

Làm cách nào để chuyển đổi mảng nhiều chiều thành đối tượng trong PHP?

Sự kết hợp của các hàm mã hóa và giải mã JSON của PHP có thể thực hiện việc chuyển đổi một cách kỳ diệu. $obj = json_decode[json_encode[$array]]; Đầu tiên, json_encode[$array] chuyển đổi toàn bộ mảng đa chiều thành chuỗi JSON. Sau đó, json_decode[$string] sẽ chuyển đổi chuỗi JSON thành đối tượng stdClass.

Làm cách nào để in mảng ở định dạng JSON trong PHP?

Chúng ta có thể sử dụng hàm json_encode[] để ghi giá trị ở định dạng JSON . Chúng ta có thể kết xuất mọi loại mảng trong PHP như mảng được liệt kê, mảng kết hợp và đối tượng sang định dạng JSON. Hàm json_encode[] có tùy chọn JSON_PRETTY_PRINT làm đẹp chuỗi JSON.

Chủ Đề