Làm cách nào để chuyển đổi mảng JSON thành chuỗi trong PHP?

Các ứng dụng dựa trên dữ liệu liên quan đến việc chuyển đổi đối tượng JSON thành mảng trong PHP. Đó là lý do tại sao PHP có phần mở rộng JSON và hỗ trợ các chuyển đổi này nguyên bản. Trong một trong những bài viết của chúng tôi, “Cách chuyển đổi mảng thành JSON trong PHP”, chúng tôi đã tìm hiểu sâu về JSON. Dưới đây là phần đánh giá nhanh những gì chúng ta đã học được trong bài viết đó về JSON

  • JSON là viết tắt của ký hiệu đối tượng Javascript
  • JSON là một định dạng trao đổi dữ liệu nhẹ
  • Đó là ngôn ngữ độc lập
  • JSON là định dạng trao đổi dữ liệu tự mô tả và dễ hiểu

Trước khi chúng tôi đi sâu vào các kỹ thuật, cần đảm bảo rằng bạn biết tại sao chúng tôi chuyển đổi đối tượng JSON thành một mảng trong PHP ngay từ đầu?

Mục lục

Tại sao chúng ta chuyển đổi đối tượng JSON thành mảng trong PHP?

Câu hỏi này có thể khiến bạn tò mò nếu bạn chưa từng làm việc với API hoặc cơ sở dữ liệu. API và cơ sở dữ liệu ngày nay thường trả về dữ liệu ở dạng chuỗi JSON. Mục đích chính của việc gọi API trong ứng dụng PHP của bạn là yêu cầu dữ liệu. Ví dụ: phát triển trang web xếp hạng phim yêu cầu dữ liệu từ API hoặc cơ sở dữ liệu

Trong cùng một bối cảnh, bạn cần làm việc với dữ liệu sau khi tìm nạp nó. Bây giờ, hãy suy nghĩ một chút, cái nào sẽ thuận tiện hơn để phân tích cú pháp, thao tác và xử lý? . Tôi sẽ không đi sâu vào phần lý do, nếu không bài viết sẽ đi chệch chủ đề đã định. Nhưng đây là động lực chính xác đằng sau việc chuyển đổi một đối tượng JSON thành một mảng trong PHP

PHP và JSON

PHP cung cấp một số chức năng hữu ích như là một phần của phần mở rộng JSON của nó. Đây là các chức năng mặc định mà bạn có thể sử dụng ngay mà không cần nhập và cấu hình bổ sung nào. Hai chức năng quan trọng nhất để chuyển đổi JSON và mảng trong PHP là

  • json_encode  [mảng thành JSON trong PHP]
  • json_decode [đối tượng JSON thành mảng trong PHP]

Chúng ta đã thấy json_encode khi chuyển đổi từ mảng sang JSON trong PHP. Trong bài viết này, chúng ta sẽ khám phá cách chuyển đổi đối tượng JSON thành mảng trong PHP. Hàm mà chúng ta sẽ xem xét và khám phá là json_decode. Vì vậy, hãy làm điều đó mà không cần phải quảng cáo thêm

Đối tượng JSON thành mảng PHP

Hàm json_decode giải mã một đối tượng JSON và chuyển đổi nó thành một mảng trong PHP

Sự miêu tả

json_decode lấy một chuỗi được mã hóa JSON và chuyển đổi nó thành một biến PHP

Chữ ký chức năng

json_decode[ string $json, ?bool $associative = null, int $depth = 512,  int $flags = 0] : mixed

Tranh luận

  • $json –  Chuỗi JSON đang được giải mã
  • $ kết hợp
    • Nếu đúng, hàm trả về một mảng kết hợp.  
    • Nếu sai, hàm trả về một đối tượng
    • Nếu null,  kiểu trả về của hàm sau đó phụ thuộc vào cờ  JSON_OBJECT_AS_ARRAY
  • $depth –  Xác định độ sâu tối đa để giải mã trong chuỗi JSON
  • $flags  –  [Các] hằng số để thay đổi hành vi của hàm. [Xem chú thích]

Loại trả lại

  • Trả về loại PHP thích hợp tùy thuộc vào đối số $associative
  • Trả về null nếu không thể giải mã JSON hoặc dữ liệu JSON sâu hơn giới hạn lồng nhau được xác định bởi đối số độ sâu

Ghi chú

Đối số $flags xác định các hằng số nhất định cần thiết để thay đổi hành vi của bộ mã hóa. PHP định nghĩa một danh sách đầy đủ các hằng số này

Ví dụ – Đối tượng JSON thành mảng PHP sử dụng json_decode

Hãy xem một ví dụ về cách chuyển đổi đối tượng JSON thành mảng trong PHP. Ở đây chúng tôi có JSON cho API đặt hàng của khách hàng

$json =
'
{
   "1":
   {
    "customer_name" : "Samuel",
    "payment_method": "Cash",
    "order_id" : ["AA-121","AA-122","AA-142"]
   },
 
   "2":
   {
    "customer_name" : "Martha",
    "payment_method": "Card",
    "order_id" : ["CC-11","CC-16","BB-172"]
   },
 
   "3":
   {
       "customer_name" : "Jackie",
       "payment_method": "Cash",
       "order_id": ["EE-21","EE-101"]
   }
 
}
';

Chuỗi JSON này được lưu trữ trong biến $json trong PHP. Hãy chuyển cái này cho hàm json_decode

//Converts JSON to array in PHP
var_dump[json_decode[$json,true]];

Bạn có thể thấy rằng chúng ta đã chuyển đúng đối số $associative. Như đã thảo luận ở trên, điều này sẽ làm cho kiểu trả về trở thành một mảng kết hợp. Đây là đầu ra

array[3] {
  [1]=>
  array[3] {
    ["customer_name"]=> 
    string[6] "Samuel"  
    ["payment_method"]=>
    string[4] "Cash"
    ["order_id"]=>
    array[3] {
      [0]=>
      string[6] "AA-121"
      [1]=>
      string[6] "AA-122"
      [2]=>
      string[6] "AA-142"
    }
  }
  [2]=>
  array[3] {
    ["customer_name"]=>
    string[6] "Martha"
    ["payment_method"]=>
    string[4] "Card"
    ["order_id"]=>
    array[3] {
      [0]=>
      string[5] "CC-11"
      [1]=>
      string[5] "CC-16"
      [2]=>
      string[6] "BB-172"
    }
  }
  [3]=>
  array[3] {
    ["customer_name"]=>
    string[6] "Jackie"
    ["payment_method"]=>
    string[4] "Cash"
    ["order_id"]=>
    array[2] {
      [0]=>
      string[5] "EE-21"
      [1]=>
      string[6] "EE-101"
    }
  }
}


Giải mã hoàn hảo chuỗi JSON thành một mảng. Chuyển đổi xen kẽ này là thứ bạn sẽ sử dụng khá thường xuyên khi tích hợp API với ứng dụng của mình

Các lỗi thường gặp khi sử dụng json_decode

Bây giờ bạn đã hiểu cách chuyển đổi đối tượng JSON thành mảng trong PHP bằng json_decode, hãy xem một số lỗi phổ biến khi sử dụng hàm này


Cách tốt nhất để học code là tự mình thực hành. Đoạn mã trên nêu bật một số lỗi phổ biến khi sử dụng json_decode. Cố gắng khắc phục mã này ở cuối của bạn. Các ý kiến ​​​​trong mã đưa ra rất nhiều gợi ý

Phần kết luận

Đó là nó cho bài viết này. Bạn đã xem cách chuyển đổi đối tượng JSON thành mảng trong PHP. json_decode là chức năng phù hợp để làm như vậy. Bạn đã thấy cách sử dụng cũng như một số lỗi phổ biến có thể xảy ra. Hãy theo dõi để biết thêm nội dung thông tin liên quan đến PHP

Bạn muốn khám phá thêm các bài hướng dẫn PHP hữu ích?

Chúng tôi có nhiều bài viết thú vị liên quan đến PHP. Bạn có thể khám phá những điều này để tìm hiểu thêm về PHP

Cách chuyển đổi mảng thành JSON trong PHP

2 tùy chọn để nhận xét mã trong PHP

Tạo một mảng kết hợp trong PHP

Bài viết liên quan

Cách chuyển đổi mảng thành JSON trong PHP
Mảng JSON đa chiều vòng lặp đệ quy trong PHP. GeoJSON
PHP tuần tự hóa so với json_encode
Cách chuyển đổi mảng PHP thành chuỗi bằng hàm implode

  • ← Cách chuyển đổi một mảng kết hợp sang CSV PHP Code Ví dụ
  • Cách chuyển đổi mảng thành JSON trong PHP →

báo cáo quảng cáo này

Stephen Phép Lạ

Chào. Tôi hy vọng bạn thích bài viết này. Tôi đã phát triển các trang web và phần mềm một cách chuyên nghiệp trong hơn 20 năm. Tôi bắt đầu FuelingPHP như một cách để đền đáp lại cộng đồng nguồn mở đã giúp tôi có thể sống thoải mái khi xây dựng những thứ tôi yêu thích

Chúng ta có thể chuyển đổi mảng JSON thành chuỗi không?

Xâu chuỗi một mảng JavaScript . stringify[] để chuyển nó thành chuỗi Use the JavaScript function JSON.stringify[] to convert it into a string .

Làm cách nào để chuyển đổi JSON thành chuỗi trong PHP?

Mọi người sử dụng json_encode[] và json_decode[] để chuyển đổi đối tượng/mảng PHP thành chuỗi và quay lại đối tượng/mảng. Lưu câu trả lời này. Hiển thị hoạt động trên bài đăng này. $array = json_decode[$json,true];

Làm cách nào để chuyển đổi một mảng thành một chuỗi trong PHP?

Trong PHP, hàm implode[] 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. Không quan trọng mảng là mảng được lập chỉ mục hay mảng kết hợp. Khi bạn chuyển mảng sang implode[] , nó sẽ nối tất cả các giá trị thành một chuỗi.

Làm cách nào để chuyển đổi một mảng thành chuỗi?

Vậy làm sao để chuyển mảng String thành String trong java. Chúng ta có thể sử dụng Mảng. toString gọi phương thức toString[] trên các phần tử riêng lẻ và sử dụng StringBuilder để tạo Chuỗi .

Chủ Đề