Cách gửi mảng javascript tới php?

Mảng là người bạn tốt nhất của lập trình viên PHP. Chúng không chỉ cho phép bạn lưu trữ danh sách các mục dưới một tên biến duy nhất, mỗi mục có chỉ mục riêng mà chúng còn giúp bạn dễ dàng thực hiện các thao tác trên một hoặc phần lớn chúng

Nhưng nếu bạn có nhiệm vụ chuyển một mảng tồn tại ở phía máy chủ, trong bộ nhớ của ứng dụng PHP của bạn, sang phía máy khách dưới dạng một mảng trong JavaScript thì sao?

Vâng, hãy nói rằng tôi có tin tốt cho bạn

Điều này không chỉ khả thi mà còn nhờ hàm json_encode[] trong PHP phiên bản 5. 2 và mới hơn, nó dễ thực hiện hơn bạn nghĩ

Làm thế nào điều này hoạt động

Để truyền dữ liệu từ một ngôn ngữ kịch bản này sang một ngôn ngữ kịch bản khác, bạn cần có một định dạng dữ liệu chung—một ngôn ngữ dùng chung cho các đối tượng dữ liệu, nếu bạn muốn—để bạn có thể xuất từ ​​ngôn ngữ này và nhập vào ngôn ngữ kia

JSON, viết tắt của JavaScript Object Notation, là định dạng dữ liệu trong trường hợp của PHP và JavaScript. Nó có cú pháp đơn giản lưu trữ dữ liệu theo cặp khóa/giá trị, được phân tách bằng dấu phẩy, với dấu ngoặc nhọn để giữ chuỗi và dấu ngoặc vuông để giữ mảng

Đây là cách biểu diễn JSON của John Snow trong Game of Thrones trông như thế nào

// JSON representation [beautified] of John Snow
{ "firstName" : "John", "lastName" : "Snow", "location" : "Thawing Free Lands" }

Câu hỏi đặt ra là, làm cách nào để bạn tạo biểu diễn JSON này từ mảng PHP của mình và nhập nó vào JavaScript?

Hàm json_encode[]

Được hỗ trợ từ phiên bản PHP 5. 2 trở lên, json_encode[] là một hàm PHP tiện dụng lấy một giá trị làm tham số, mã hóa nó ở định dạng dữ liệu JSON và khi thành công, trả về nó dưới dạng một chuỗi JSON. [Khi thất bại, nó sẽ trả về false. ]

Sau đó, bạn có thể sử dụng phương thức JSON.parse[] trong JavaScript để lấy chuỗi JSON đó và tạo một mảng JavaScript với nó

Cú pháp của hàm json_encode[]

Trường hợp

0 là bắt buộc và
1 và
2 là tùy chọn. [Đọc thêm về các tham số tùy chọn này tại W3Schools. ]

Nhưng đủ chit-chat. Hãy đi vào nội dung cốt lõi của nó—ví dụ triển khai

Thí dụ

Giả sử rằng, trong ứng dụng PHP của chúng ta, chúng ta có một mảng

3 lưu trữ tên, họ và vị trí của John Snow

Hãy xem cách chúng ta có thể sử dụng hàm json_encode[] để lấy các giá trị của mảng đó, mã hóa chúng ở định dạng JSON, sau đó xuất chúng ra màn hình







function jsonStringToJsArray[] {
  // Store JSON string in myJSONstring
  let myJSONstring = ;
  // Parse JSON string and store in myArray array
  let myArray = JSON.parse[myJSONstring];
}
// Log
console.log[jsonStringToJsArray[]];




khả năng tương thích

Hàm json_encode[] là một phần của phần mở rộng JSON. Kể từ PHP 8, tiện ích mở rộng JSON là tiện ích mở rộng cốt lõi của PHP luôn ở đó và được bật theo mặc định. [Nếu máy chủ của bạn đang chạy phiên bản PHP cũ, bạn sẽ phải cài đặt và/hoặc cấu hình nó. ]

Mảng PHP có thể được sử dụng trong hàm javascript theo nhiều cách. Nhưng hôm nay trong blog này, chúng tôi sẽ sử dụng hai cách chính. Cái đầu tiên là json_encode[] và cái thứ hai là hàm PHP implode[] phổ biến nhất

Phương pháp 1. json_encode[]

Đầu tiên, xác định một mảng vào PHP. json_encode[] trả về biểu diễn JSON của một giá trị


Bây giờ chúng tôi sử dụng mảng PHP vào javascript. Truy xuất các phần tử mảng bằng json_encode[] và sử dụng vòng lặp để in giá trị js



    var jsArray = ;

    for[var i=0; i



    // Retrieve the PHP array elements using json_encode[] into jascript
    var jsArray = ;

    // Run a loop to print array value 
    for[var i=0; i



// Using PHP implode[] function
var jsArray = ;

for[var i=0; i

Chủ Đề