Rumah pembangunan bahagian belakang masalah PHP Bagaimana untuk menukar php+xml dan tatasusunan antara satu sama lain

Bagaimana untuk menukar php+xml dan tatasusunan antara satu sama lain

Apr 26, 2023 am 10:28 AM

Dalam pembangunan web, XML dan format tatasusunan sering digunakan untuk menyimpan dan menghantar data. XML ialah bahasa penanda yang sering digunakan untuk penerangan data dan penghantaran interaktif, manakala tatasusunan ialah struktur data yang sering digunakan untuk pemprosesan dan operasi data dalam program. Dalam bahasa PHP, kita boleh menukar PHP kepada XML dan tatasusunan, dan penukaran ini sangat mudah dan pantas.

Artikel ini terutamanya memperkenalkan kaedah penukaran bersama antara PHP, XML dan tatasusunan dalam PHP, termasuk kaedah penukaran daripada XML kepada tatasusunan dan daripada tatasusunan kepada XML.

1. Penukaran bersama antara PHP dan XML

Dalam PHP, kita boleh menggunakan sambungan SimpleXML untuk merealisasikan penukaran bersama antara PHP dan XML. SimpleXML ialah sambungan terbina dalam PHP untuk memproses data dalam fail XML. Ia boleh menukar fail XML kepada objek atau tatasusunan PHP, dan juga menukar objek atau tatasusunan PHP kepada fail XML.

  1. Tukar fail XML kepada tatasusunan PHP

Untuk menukar fail XML kepada tatasusunan PHP, anda perlu menggunakan fungsi simplexml_load_file dalam sambungan SimpleXML. Fungsi simplexml_load_file boleh membaca fail XML pada laluan yang ditentukan dan mengembalikan objek SimpleXMLElement, dan kemudian menukar maklumat dalam fail XML kepada tatasusunan PHP dengan merentasi objek SimpleXMLElement.

Berikut ialah contoh kod untuk menukar fail XML kepada tatasusunan PHP:

$xmlStr = <<<XML
<?xml version=&#39;1.0&#39;?>
<menu>
  <item>
    <name>Chicken Curry</name>
    <price>8.95</price>
    <description>A spicy dish with chicken, carrots, and potatoes</description>
  </item>
  <item>
    <name>Beef Stir Fry</name>
    <price>10.95</price>
    <description>A savory dish with beef, mushrooms, and peppers</description>
  </item>
</menu>
XML;

$xml = simplexml_load_string($xmlStr);
$menu = [];

foreach ($xml->item as $item) {
    $menu[] = [
        'name' => (string) $item->name,
        'price' => (float) $item->price,
        'description' => (string) $item->description,
    ];
}

print_r($menu);
Salin selepas log masuk

Jalankan kod di atas, hasil output ialah:

Array
(
    [0] => Array
        (
            [name] => Chicken Curry
            [price] => 8.95
            [description] => A spicy dish with chicken, carrots, and potatoes
        )

    [1] => Array
        (
            [name] => Beef Stir Fry
            [price] => 10.95
            [description] => A savory dish with beef, mushrooms, and peppers
        )

)
Salin selepas log masuk
Salin selepas log masuk
  1. Tukar tatasusunan PHP kepada fail XML

Untuk menukar tatasusunan PHP kepada fail XML, data dalam tatasusunan perlu disusun mengikut peraturan sintaks XML. Dalam PHP, kita boleh menggunakan kelas SimpleXMLElement untuk mencipta elemen XML, dan menggunakan gelung foreach untuk lelaran melalui data dalam tatasusunan, menambah data pada elemen XML satu demi satu, dan akhirnya mengeluarkan atau menyimpan fail XML ke yang ditentukan lokasi melalui kaedah asXML objek SimpleXMLElement .

Berikut ialah contoh kod untuk menukar tatasusunan PHP kepada fail XML:

$menu = [
    [
        'name' => 'Chicken Curry',
        'price' => 8.95,
        'description' => 'A spicy dish with chicken, carrots, and potatoes'
    ],
    [
        'name' => 'Beef Stir Fry',
        'price' => 10.95,
        'description' => 'A savory dish with beef, mushrooms, and peppers'
    ]
];

$xml = new SimpleXMLElement('<menu></menu>');
foreach ($menu as $item) {
    $menuItem = $xml->addChild('item');
    $menuItem->addChild('name', $item['name']);
    $menuItem->addChild('price', $item['price']);
    $menuItem->addChild('description', $item['description']);
}

$xmlStr = $xml->asXML();
echo $xmlStr;
Salin selepas log masuk

Jalankan kod di atas, hasil output ialah:

<?xml version="1.0"?>
<menu>
  <item>
    <name>Chicken Curry</name>
    <price>8.95</price>
    <description>A spicy dish with chicken, carrots, and potatoes</description>
  </item>
  <item>
    <name>Beef Stir Fry</name>
    <price>10.95</price>
    <description>A savory dish with beef, mushrooms, and peppers</description>
  </item>
</menu>
Salin selepas log masuk
Salin selepas log masuk

2. Penukaran PHP kepada dan dari tatasusunan

Dalam PHP, kita boleh menggunakan fungsi json_encode dan json_decode untuk menukar PHP kepada tatasusunan. Fungsi json_encode menukar tatasusunan dalam PHP kepada rentetan berformat JSON dan mengembalikan rentetan yang ditukar fungsi json_decode menukar rentetan berformat JSON kepada tatasusunan dalam PHP.

  1. Tukar tatasusunan PHP kepada rentetan format JSON

Untuk menukar tatasusunan PHP kepada rentetan format JSON, anda perlu menggunakan fungsi json_encode. Fungsi json_encode boleh menukar tatasusunan dalam PHP kepada rentetan berformat JSON dan mengembalikan nilai yang mewakili rentetan JSON.

Berikut ialah contoh kod untuk menukar tatasusunan PHP kepada rentetan dalam format JSON:

$menu = [
    [
        'name' => 'Chicken Curry',
        'price' => 8.95,
        'description' => 'A spicy dish with chicken, carrots, and potatoes'
    ],
    [
        'name' => 'Beef Stir Fry',
        'price' => 10.95,
        'description' => 'A savory dish with beef, mushrooms, and peppers'
    ]
];

$json = json_encode($menu);
echo $json;
Salin selepas log masuk

Jalankan kod di atas, hasil output ialah:

[{"name":"Chicken Curry","price":8.95,"description":"A spicy dish with chicken, carrots, and potatoes"},{"name":"Beef Stir Fry","price":10.95,"description":"A savory dish with beef, mushrooms, and peppers"}]
Salin selepas log masuk
  1. Tukar rentetan dalam format JSON kepada tatasusunan PHP

Untuk menukar rentetan dalam format JSON kepada tatasusunan PHP, anda perlu menggunakan fungsi json_decode. Fungsi json_decode boleh menukar rentetan berformat JSON kepada tatasusunan dalam PHP dan mengembalikan nilai yang mewakili tatasusunan PHP.

Berikut ialah contoh kod untuk menukar rentetan berformat JSON kepada tatasusunan PHP:

$json = '[{"name":"Chicken Curry","price":8.95,"description":"A spicy dish with chicken, carrots, and potatoes"},{"name":"Beef Stir Fry","price":10.95,"description":"A savory dish with beef, mushrooms, and peppers"}]';

$menu = json_decode($json, true);
print_r($menu);
Salin selepas log masuk

Jalankan kod di atas, hasil output ialah:

Array
(
    [0] => Array
        (
            [name] => Chicken Curry
            [price] => 8.95
            [description] => A spicy dish with chicken, carrots, and potatoes
        )

    [1] => Array
        (
            [name] => Beef Stir Fry
            [price] => 10.95
            [description] => A savory dish with beef, mushrooms, and peppers
        )

)
Salin selepas log masuk
Salin selepas log masuk

3. Penukaran bersama antara tatasusunan PHP dan XML

Dalam PHP, kita boleh menggunakan sambungan SimpleXML dan fungsi json_encode/json_decode untuk merealisasikan penukaran bersama antara PHP, XML dan tatasusunan. Secara khusus, kita boleh menukar fail XML kepada tatasusunan PHP, dan kemudian menukar tatasusunan PHP kepada rentetan berformat JSON, kami juga boleh menukar rentetan berformat JSON kepada tatasusunan PHP, dan kemudian menukar tatasusunan PHP kepada Objek SimpleXMLElement, dan akhirnya dapatkan fail XML.

Berikut ialah contoh kod lengkap penukaran antara tatasusunan PHP dan XML:

$xmlStr = <<<XML
<?xml version=&#39;1.0&#39;?>
<menu>
  <item>
    <name>Chicken Curry</name>
    <price>8.95</price>
    <description>A spicy dish with chicken, carrots, and potatoes</description>
  </item>
  <item>
    <name>Beef Stir Fry</name>
    <price>10.95</price>
    <description>A savory dish with beef, mushrooms, and peppers</description>
  </item>
</menu>
XML;

// 将XML文件转换为PHP数组
$xml = simplexml_load_string($xmlStr);
$menu = [];
foreach ($xml->item as $item) {
    $menu[] = [
        'name' => (string) $item->name,
        'price' => (float) $item->price,
        'description' => (string) $item->description,
    ];
}

// 将PHP数组转换为JSON格式的字符串
$json = json_encode($menu);

// 将JSON格式的字符串转换为PHP数组
$menu = json_decode($json, true);

// 将PHP数组转换为SimpleXMLElement对象
$xml = new SimpleXMLElement('<menu></menu>');
foreach ($menu as $item) {
    $menuItem = $xml->addChild('item');
    $menuItem->addChild('name', $item['name']);
    $menuItem->addChild('price', $item['price']);
    $menuItem->addChild('description', $item['description']);
}

// 输出XML文件
$xmlStr = $xml->asXML();
echo $xmlStr;
Salin selepas log masuk

Jalankan kod di atas, hasil output ialah:

<?xml version="1.0"?>
<menu>
  <item>
    <name>Chicken Curry</name>
    <price>8.95</price>
    <description>A spicy dish with chicken, carrots, and potatoes</description>
  </item>
  <item>
    <name>Beef Stir Fry</name>
    <price>10.95</price>
    <description>A savory dish with beef, mushrooms, and peppers</description>
  </item>
</menu>
Salin selepas log masuk
Salin selepas log masuk

Ringkasan

Di atas ialah kaedah menukar PHP kepada XML dan tatasusunan Ia sangat mudah dan praktikal. Sama ada dalam penghantaran data atau pemprosesan data bahagian hadapan atau belakang, kami boleh melakukan penukaran yang sepadan mengikut keperluan sebenar. Perlu diingat bahawa apabila menukar antara XML dan tatasusunan, beri perhatian kepada struktur dan format data untuk mengelakkan ralat yang tidak perlu.

Atas ialah kandungan terperinci Bagaimana untuk menukar php+xml dan tatasusunan antara satu sama lain. 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!

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)

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. Mar 26, 2025 pm 04:13 PM

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. Mar 25, 2025 am 10:37 AM

Kompilasi JIT Php 8 meningkatkan prestasi dengan menyusun kod yang sering dilaksanakan ke dalam kod mesin, memberi manfaat kepada aplikasi dengan pengiraan berat dan mengurangkan masa pelaksanaan.

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. Mar 26, 2025 pm 04:18 PM

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Penyulitan PHP: Penyulitan simetri vs asimetrik. Penyulitan PHP: Penyulitan simetri vs asimetrik. Mar 25, 2025 pm 03:12 PM

Artikel ini membincangkan penyulitan simetri dan asimetrik dalam PHP, membandingkan kesesuaian, prestasi, dan perbezaan keselamatan mereka. Penyulitan simetri lebih cepat dan sesuai untuk data pukal, manakala asimetrik digunakan untuk pertukaran utama yang selamat.

Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Mar 25, 2025 pm 03:06 PM

Artikel ini membincangkan pelaksanaan pengesahan dan kebenaran yang mantap dalam PHP untuk mencegah akses yang tidak dibenarkan, memperincikan amalan terbaik dan mengesyorkan alat peningkatan keselamatan.

PHP API Kadar Mengehadkan: Strategi Pelaksanaan. PHP API Kadar Mengehadkan: Strategi Pelaksanaan. Mar 26, 2025 pm 04:16 PM

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. Mar 25, 2025 pm 03:05 PM

Artikel ini membincangkan strategi untuk mencegah serangan CSRF di PHP, termasuk menggunakan token CSRF, kuki tapak yang sama, dan pengurusan sesi yang betul.

Pengesahan Input PHP: Amalan Terbaik. Pengesahan Input PHP: Amalan Terbaik. Mar 26, 2025 pm 04:17 PM

Artikel membincangkan amalan terbaik untuk pengesahan input PHP untuk meningkatkan keselamatan, memberi tumpuan kepada teknik seperti menggunakan fungsi terbina dalam, pendekatan putih, dan pengesahan sisi pelayan.

See all articles