Rumah pembangunan bahagian belakang masalah PHP Bagaimana untuk menukar tatasusunan php kepada urlencode

Bagaimana untuk menukar tatasusunan php kepada urlencode

Apr 18, 2023 am 09:47 AM

Array dalam PHP ialah struktur data yang sangat biasa yang boleh menyimpan dan memanipulasi sejumlah besar data. Dalam pembangunan web, kita selalunya perlu menggunakan pengekodan URL untuk menghantar data ke pelayan untuk memastikan penghantaran data yang selamat. Artikel ini menerangkan cara mengekod URL tatasusunan menggunakan PHP.

Pengekodan URL ialah proses menukar aksara khas kepada simbol % diikuti oleh dua digit heksadesimal. Dalam URL, aksara tertentu mesti dikodkan, seperti ruang, +, &, #, dsb. Fungsi urlencode() dalam PHP boleh URL mengekod rentetan, tetapi untuk tatasusunan, kita perlu melaksanakannya sendiri.

Berikut ialah contoh tatasusunan ringkas yang mengandungi tiga pasangan nilai kunci:

$myArray = array(
    'name' => 'John Smith',
    'age' => 35,
    'hasCar' => true
);
Salin selepas log masuk

Kami boleh menukar tatasusunan ini kepada format berkod URL untuk dihantar ke pelayan. Berikut ialah fungsi PHP yang menukar tatasusunan kepada pengekodan URL:

function array_to_urlencoded($array) {
  $string = '';
  foreach ($array as $key => $value) {
    $string .= rawurlencode($key) . '=' . rawurlencode($value) . '&';
  }
  // 去除最后一个 &
  $string = rtrim($string, '&');
  return $string;
}
Salin selepas log masuk

Fungsi ini berulang melalui tatasusunan dan URL mengekod kunci dan nilai menggunakan fungsi rawurlencode(), kemudian menggabungkannya menjadi rentetan dan Tambah & pemisah. Akhir sekali, fungsi menggunakan fungsi rtrim() untuk mengalih keluar simbol & terakhir pada penghujung rentetan. Sekarang, kita boleh menggunakan fungsi ini untuk menukar tatasusunan contoh di atas ke dalam format yang dikodkan URL:

$urlEncoded = array_to_urlencoded($myArray);
echo $urlEncoded; // 输出:name=John%20Smith&age=35&hasCar=1
Salin selepas log masuk

Seperti yang anda boleh lihat daripada hasilnya, fungsi ini mengekod URL dengan betul setiap kunci dan nilai dalam pengekodan tatasusunan .

Sudah tentu, dalam aplikasi praktikal, kita mungkin perlu mengekod tatasusunan yang lebih kompleks. Jika terdapat tatasusunan atau objek lain yang bersarang dalam tatasusunan, kita perlu menggunakan algoritma rekursif untuk memprosesnya. Berikut ialah contoh tatasusunan yang lebih kompleks yang menunjukkan cara mengod tatasusunan bersarang:

$data = array(
    'name' => 'John Smith',
    'age' => 35,
    'hasCar' => true,
    'address' => array(
        'street' => '123 Main St.',
        'city' => 'Anytown',
        'state' => 'CA'
    )
);

function array_to_urlencoded_recursive($array, $parentKey = null) {
  $string = '';
  foreach ($array as $key => $value) {
    $newParent = $parentKey ? $parentKey . '[' . $key . ']' : $key;
    if (is_array($value)) {
      $string .= array_to_urlencoded_recursive($value, $newParent);
    } else {
      $string .= rawurlencode($newParent) . '=' . rawurlencode($value) . '&';
    }
  }
  return $string;
}

$urlEncoded = array_to_urlencoded_recursive($data);
echo $urlEncoded; // 输出:name=John%20Smith&age=35&hasCar=1&address[street]=123%20Main%20St.&address[city]=Anytown&address[state]=CA
Salin selepas log masuk

Dalam kod di atas, kami menggunakan fungsi rekursif untuk memanggil dirinya sendiri supaya kami boleh mengendalikan tatasusunan bersarang. Fungsi ini termasuk kunci induk sebelum setiap kunci anak supaya struktur bersarang boleh dibina semula dengan betul apabila tatasusunan dinyahkod.

Ringkasan:

Array ialah struktur data yang sangat biasa yang boleh menyimpan dan mengendalikan sejumlah besar data Dalam pembangunan web, kita selalunya perlu menggunakan pengekodan URL untuk menghantar data ke pelayan untuk Memastikan penghantaran data yang selamat. Fungsi urlencode() dalam PHP boleh URL mengekod rentetan, tetapi untuk tatasusunan, kita perlu melaksanakannya sendiri. Kita boleh menggunakan algoritma rekursif untuk mengendalikan tatasusunan yang lebih kompleks.

Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan php kepada urlencode. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China 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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1666
14
Tutorial PHP
1272
29
Tutorial C#
1252
24