Http_build_query làm gì trong php?

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ận

Mớ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

  •      http_build_query[ $data, $prefix, $separator ];
    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ư trong

        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ố 8

    tạo ra

        "var_0=foo&var_1=bar&var_2=baz"

    sau đó có ý nghĩa trong vùng đất PHP

  •     http_build_query[ [ 'foo', 'bar', 'baz' ]];
    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óa

VÍ DỤ

Mảng

     http_build_query[ $data, $prefix, $separator ];
1

Băm với mảng

     http_build_query[ $data, $prefix, $separator ];
2GOTCHASUTF8 Nhân vật

Hà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ăm

Hà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 Frankenstein

Mả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 ];
8

và 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 ];
0

Hà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 ];
1

hoặc, tốt hơn, với tiền tố 'tên', để

     http_build_query[ $data, $prefix, $separator ];
2

Mặ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' ]];
7

CẢM ƠN

Cả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ÉP

BẢ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]

TÁC GIẢ

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 ];
3

vỏ 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

$_ server [' Query_string '] trong PHP là gì?

thì $_SERVER['QUERY_STRING'] giúp bạn xác định phần của chuỗi sau dấu ? và theo câu hỏi của bạn $Q =

Làm cách nào để chuyển dữ liệu mảng trong URL trong PHP?

Bạn có thể sử dụng hàm serialize[] và urlencode PHP tích hợp để truyền một mảng dưới dạng tham số URL . Hàm serialize[] sẽ trả về một chuỗi bit cho đầu vào đã cho và urlencode sẽ mã hóa lại các giá trị cũng như các ký tự đặc biệt có sẵn trong đó.

Làm cách nào để chuyển tham số chuỗi truy vấn trong URL PHP?

Hàm parse_str[] . Hàm parse_str[] được sử dụng để phân tích một chuỗi truy vấn thành các biến. Chuỗi được chuyển đến chức năng này để phân tích cú pháp có định dạng chuỗi truy vấn được chuyển qua URL.

Làm cách nào để nhận tất cả các tham số URL trong PHP?

php $url = 'http. //www. thí dụ. com/register?name=demo&email=example12@domain. com'; . $params['tên'];

Chủ Đề