Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Menyiarkan Tatasusunan Berbilang Dimensi melalui PHP dan CURL?

Bagaimana untuk Menyiarkan Tatasusunan Berbilang Dimensi melalui PHP dan CURL?

Mary-Kate Olsen
Lepaskan: 2024-10-23 08:16:02
asal
517 orang telah melayarinya

How to Post Multidimensional Arrays via PHP and CURL?

Menyiarkan Tatasusunan Berbilang Dimensi dengan PHP dan CURL

Masalah:

Menyiarkan tatasusunan bentuk berbilang dimensi melalui CURL ke skrip PHP pada hos yang berbeza menghasilkan ralat "Penukaran tatasusunan kepada rentetan". Argumen ketiga curl_setopt() mestilah tatasusunan untuk menetapkan pengepala Content-Type kepada multipart/form-data disebabkan oleh muat naik fail. Walau bagaimanapun, nampaknya CURLOPT_POSTFIELDS tidak menyokong tatasusunan berbilang dimensi.

Penyelesaian:

Walaupun pengehadan CURLOPT_POSTFIELDS, terdapat penyelesaian menggunakan fungsi http_build_query()_for_curl. Fungsi ini secara rekursif menukar tatasusunan berbilang dimensi kepada tatasusunan rata yang sesuai untuk curl_setopt().

Kod Contoh:

<code class="php">function http_build_query_for_curl( $arrays, &amp;$new = array(), $prefix = null ) {

    if ( is_object( $arrays ) ) {
        $arrays = get_object_vars( $arrays );
    }

    foreach ( $arrays AS $key => $value ) {
        $k = isset( $prefix ) ? $prefix . '[' . $key . ']' : $key;
        if ( is_array( $value ) OR is_object( $value )  ) {
            http_build_query_for_curl( $value, $new, $k );
        } else {
            $new[$k] = $value;
        }
    }
}

$arrays = array(
    'name' => array(
        'first' => array(
            'Natali', 'Yura'
        )
    )
);


http_build_query_for_curl( $arrays, $post );

print_r($post);</code>
Salin selepas log masuk

Output:

Array
(
    [name[first][0]] => Natali
    [name[first][1]] => Yura
)
Salin selepas log masuk

Tatasusunan rata ini kemudiannya boleh dihantar ke curl_setopt() sebagai hujah ketiga, berjaya menyiarkan tatasusunan berbilang dimensi melalui CURL.

Atas ialah kandungan terperinci Bagaimana untuk Menyiarkan Tatasusunan Berbilang Dimensi melalui PHP dan CURL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan