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

'John', 'lastName' => 'Snow', 'location' => 'Thawing Free Lands');

// Transform his details to JSON format and output them to the screen
echo json_encode($person);
?>

Đầu ra của hàm trên như sau

// Output of PHP function above
{"firstName":"John","lastName":"Snow","location":"Thawing Free Lands"}

Vì vậy, làm thế nào để bạn sử dụng điều này trên giao diện người dùng, một số bạn có thể tự hỏi?

Bạn có thể sử dụng PHP để lặp lại kết quả của json_encode() thành một biến được khai báo trong JavaScript và sử dụng hàm

6 trong JavaScript để chuyển đổi nó từ một chuỗi thành một mảng


'John', 'lastName' => 'Snow', 'location' => 'Thawing Free Lands');
?>








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ị

 "Zero",
        1 => "One", 
        2 => "Two", 
        3 => "Three", 
        4 => "Four",
        5 => "Five", 
        6 => "Six",
        7 => "Seven",
        8 => "Eight",
        9 => "Nine",
        10 => "Ten"
    )
?>

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


Mã đầy đủ

 "Zero",
        1 => "One", 
        2 => "Two", 
        3 => "Three", 
        4 => "Four",
        5 => "Five", 
        6 => "Six",
        7 => "Seven",
        8 => "Eight",
        9 => "Nine",
        10 => "Ten"
    )
?>

Phương pháp 2. phát nổ()

Trong phương thức thứ hai, chúng ta sử dụng một phương thức PHP khác là implode(). Nó được sử dụng để nối các phần tử mảng với một chuỗi. implode() còn được gọi là hàm join() của PHP và nó hoạt động tương tự như hàm join()

 "Zero",
        1 => "One", 
        2 => "Two", 
        3 => "Three", 
        4 => "Four",
        5 => "Five", 
        6 => "Six",
        7 => "Seven",
        8 => "Eight",
        9 => "Nine",
        10 => "Ten"
    )
?>

Kết quả

Bằng cả hai phương pháp, bạn sẽ nhận được kết quả như nhau. Tôi hy vọng bài đăng này hữu ích cho bạn

Brijpal Sharma

Brij

Brijpal Sharma là một nhà phát triển web có niềm đam mê viết các bài hướng dẫn về công nghệ. Tìm hiểu JavaScript và công nghệ phát triển web khác

Làm cách nào để gán mảng JavaScript cho mảng PHP?

Chuyển mảng PHP sang JavaScript rất dễ dàng bằng cách sử dụng Ký hiệu đối tượng JavaScript(JSON). Phương pháp 1. Sử dụng hàm json_encode() . Hàm json_encode() được sử dụng để trả về biểu diễn JSON của một giá trị hoặc mảng. Hàm có thể lấy cả mảng một chiều và nhiều chiều.

Làm cách nào để gửi dữ liệu từ JS sang PHP?

Cách chuyển một biến JavaScript sang PHP là thông qua một yêu cầu . Loại URL này chỉ hiển thị nếu chúng ta sử dụng hành động GET, hành động POST ẩn thông tin trong URL. Phía máy chủ (PHP). Trên trang PHP phía máy chủ, chúng tôi yêu cầu dữ liệu được gửi theo biểu mẫu và hiển thị kết quả. $result = $_GET [ 'dữ liệu' ];

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

Đối tượng thành mảng PHP cũng được thực hiện với phương thức giải mã và mã hóa JSON . Trong phương thức này, hàm json_encode() trả về một chuỗi được mã hóa JSON cho một giá trị nhất định. Hàm json_decode() chấp nhận chuỗi được mã hóa JSON và chuyển đổi nó thành một mảng PHP.

Chúng ta có thể chuyển mảng làm đối số trong PHP không?

Bạn có thể truyền một mảng làm đối số . Nó được sao chép theo giá trị (hoặc COW'd, về cơ bản có nghĩa giống với bạn), vì vậy bạn có thể array_pop() (và tương tự) tất cả những gì bạn thích trên đó và sẽ không ảnh hưởng đến bất kỳ thứ gì bên ngoài. hàm sendemail($id, $userid){ //. }