Hàm
http_build_query[ $data, $prefix, $separator ];
7 của PHP cung cấp một cách thuận tiện để tạo các chuỗi truy vấn được mã hóa URL từ các mảng kết hợp{{mã số. php $data = mảng['foo' => mảng['bar' => 'baz']];
PHP. HTTPBuildQuery triển khai hàm
http_build_query[ $data, $prefix, $separator ];
5 của PHP trong Perl. Nó được sử dụng để mã hóa cấu trúc dữ liệu Perl trong URL, để PHP có thể đọc chúng ở đầu nhậnMới với phiên bản 0. 04 đến
http_build_query[ $data, $prefix, $separator ];
6 có cú pháp giống hệt nhưng thay vào đó xử lý dữ liệu utf8. Xem phần GOTCHAS bên dưới để biết chi tiết http_build_query[ $data, $prefix, $separator ];
5 chấp nhận một tham số bắt buộc và hai tham số tùy chọn http_build_query[ $data, $prefix, $separator ];
ở đâu
8 là tham chiếu đến cấu trúc dữ liệu [băm hoặc mảng]http_build_query[ $data, $prefix, $separator ];
9 là tên mảng cho các phần tử mảng ở cấp cao nhất. Một mảng ở cấp cao nhất, như tronghttp_build_query[ $data, $prefix, $separator ];
http_build_query[ [ 'foo', 'bar', 'baz' ]];
sẽ tạo một chuỗi truy vấn như
"0=foo&1=bar&2=baz"
mà PHP không thể hiểu được ở đầu nhận, vì tên biến không thể bắt đầu bằng một số. Thêm một tiền tố, như trong
________số 8tạo ra
"var_0=foo&var_1=bar&var_2=baz"
sau đó có ý nghĩa trong vùng đất PHP
0 là dấu tách đối số tùy chọn [mặc định là '&'], được dùng để phân tách các trường trong chuỗi được mã hóahttp_build_query[ [ 'foo', 'bar', 'baz' ]];
Mảng
http_build_query[ $data, $prefix, $separator ];
1Băm với mảng
http_build_query[ $data, $prefix, $separator ];
2GOTCHASUTF8 Nhân vậtHàm
http_build_query[ [ 'foo', 'bar', 'baz' ]];
1 được sử dụng trong http_build_query[ $data, $prefix, $separator ];
5 sẽ không mã hóa các ký tự utf8. Nếu dữ liệu của bạn được mã hóa utf8, hãy sử dụng http_build_query[ $data, $prefix, $separator ];
6 để thay thếThứ tự phần tử bămHàm băm Perl không có thứ tự xác định, vì vậy nếu bạn mã hóa thứ gì đó như
http_build_query[ [ 'foo', 'bar', 'baz' ]];
4 "bar", baz => "quack" }>, đừng ngạc nhiên nếu bạn nhận được các mục nhập theo một thứ tự khác http_build_query[ $data, $prefix, $separator ];
7Mảng FrankensteinMảng Frankenstein của PHP xử lý lập chỉ mục số và tra cứu dạng băm một cách minh bạch. Ví dụ: bạn có thể có cấu trúc dữ liệu như
http_build_query[ $data, $prefix, $separator ];
8và bạn có thể truy cập cả phần tử số và phần tử kết hợp của nó
http_build_query[ $data, $prefix, $separator ];
0Hàm
http_build_query[ $data, $prefix, $separator ];
5 của PHP sẽ chuyển đổi mảng Frankenstein ở trên thành http_build_query[ $data, $prefix, $separator ];
1hoặc, tốt hơn, với tiền tố 'tên', để
http_build_query[ $data, $prefix, $separator ];
2Mặt khác, trong Perl, có các giá trị băm để tra cứu kết hợp và mảng cho các vùng chứa được lập chỉ mục bằng số, vì vậy bạn không thể trộn và khớp, và không có cách nào xác định cấu trúc dữ liệu để in ra chuỗi truy vấn ở trên
Ký tự đặc biệt http_build_query[ $data, $prefix, $separator ];
5 tạo một định dạng mã hóa dành riêng cho PHP không thể xử lý các ký tự ']' hoặc '[' trong các khóa của nó [tuy nhiên, chúng vẫn ổn trong các giá trị băm]. Mô-đun này sẽ không kiểm tra trường hợp này, nó sẽ chỉ tạo ra các chuỗi biểu mẫu không thể giải mã được sau đó. Đảm bảo lọc dữ liệu của bạn trước khi chuyển dữ liệu tới http_build_query[ [ 'foo', 'bar', 'baz' ]];
7CẢM ƠNCảm ơn những Yahoo sau đây đã cung cấp lời khuyên, ý tưởng và mã. Diễn viên: Sara GolemonRasmus LerdorfEvan Miller
BẢN QUYỀN và GIẤY PHÉPBẢN QUYỀN và GIẤY PHÉP
Bản quyền [c] 2008-2012 Yahoo. tập đoàn. Đã đăng ký Bản quyền. Bản quyền đối với nội dung của tệp này được cấp phép theo Giấy phép Nghệ thuật Perl [phiên bản. 15 tháng 8 năm 1997]
2008, Mike Schilli
×
Hướng dẫn cài đặt mô-đun
Để cài đặt PHP. HTTPBuildQuery, sao chép và dán lệnh thích hợp vào thiết bị đầu cuối của bạn
cpanm
http_build_query[ $data, $prefix, $separator ];
3vỏ CPAN
http_build_query[ $data, $prefix, $separator ];
4Để biết thêm thông tin về cài đặt mô-đun, vui lòng truy cập hướng dẫn cài đặt mô-đun CPAN chi tiết