Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar rentetan menjadi objek tatasusunan dalam php

Bagaimana untuk menukar rentetan menjadi objek tatasusunan dalam php

PHPz
PHPzasal
2023-04-24 15:49:18524semak imbas

Apabila membangunkan aplikasi web, kita selalunya perlu menghuraikan dan memproses data rentetan yang diterima dari bahagian hadapan, dan rentetan ini mungkin rentetan yang dipisahkan oleh simbol tertentu, kita perlu menukar rentetan ini kepada objek Array untuk memudahkan manipulasi dan pemprosesan. Dalam PHP, terdapat banyak cara untuk menukar rentetan kepada objek tatasusunan Di bawah ini kami memperkenalkan secara ringkas beberapa kaedah yang biasa digunakan.

Tukar rentetan kepada tatasusunan satu dimensi

PHP menyediakan fungsi explode, yang digunakan untuk menguraikan rentetan kepada berbilang elemen tatasusunan mengikut pembatas yang ditentukan fungsi Format sintaks adalah seperti berikut:

array explode(string $separator, string $string, int $limit);

Fungsi ini menerima tiga parameter, dengan $separator ialah pembatas, yang boleh menjadi rentetan atau aksara, atau rentetan yang terdiri daripada berbilang pembatas; ialah rentetan yang perlu diuraikan; $string digunakan untuk mengehadkan bilangan penguraian Jika parameter ini tidak ditentukan, keseluruhan rentetan akan diuraikan menjadi elemen tatasusunan. $limit

Seterusnya, kami menggunakan contoh khusus untuk menunjukkan cara menggunakan fungsi

untuk menukar rentetan kepada tatasusunan satu dimensi. Katakan kita mempunyai rentetan explode, yang mengandungi berbilang perkataan yang dipisahkan dengan koma Kita perlu menguraikannya menjadi tatasusunan satu dimensi Kodnya adalah seperti berikut: $str

$str = "apple, banana, orange, pear";
$arr = explode(", ", $str);

print_r($arr);
Selepas melaksanakan kod. hasilnya adalah output Seperti berikut:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => pear
)
Seperti yang anda lihat, fungsi

meletakkan setiap rentetan terurai ke dalam tatasusunan sebagai elemen tatasusunan. Dengan cara ini kita boleh memproses dan menyimpan data ini dengan mudah melalui operasi tatasusunan. explode

Tukar rentetan kepada tatasusunan dua dimensi

Jika kita perlu menukar rentetan kepada tatasusunan dua dimensi, terdapat dua kaedah biasa: satu ialah menggunakan fungsi

untuk mengurai Untuk melaksanakan operasi tatasusunan, yang lain ialah menggunakan fungsi explode untuk menukar rentetan format JSON kepada objek tatasusunan. Di bawah ini kami akan memperkenalkan kedua-dua kaedah ini masing-masing. json_decode

Gunakan fungsi

untuk penyambungan tatasusunan explode

Jika data rentetan kami telah disusun dalam format tertentu, dan kami tahu nama setiap medan, maka kami boleh menggunakan

fungsi menjana tatasusunan dua dimensi selepas penguraian dan penyambungan. Mari kita tunjukkan dengan contoh khusus Katakan kita mempunyai rentetan explode, yang formatnya ialah: $str

apple,10
banana,20
orange,30
pear,40
Dalam setiap baris data, perkataan pertama yang dipisahkan dengan koma ialah nama, yang kedua ialah nombor buah-buahan. Kita perlu menukar data ini kepada tatasusunan dua dimensi Kod adalah seperti berikut:

$str = "apple,10\nbanana,20\norange,30\npear,40";
$rows = explode("\n", $str);

foreach ($rows as $row) {
    $arr = explode(",", $row);
    $data[] = ["name" => $arr[0], "count" => $arr[1]];
}

print_r($data);
Selepas melaksanakan kod, hasil output adalah seperti berikut:

Array
(
    [0] => Array
        (
            [name] => apple
            [count] => 10
        )

    [1] => Array
        (
            [name] => banana
            [count] => 20
        )

    [2] => Array
        (
            [name] => orange
            [count] => 30
        )

    [3] => Array
        (
            [name] => pear
            [count] => 40
        )

)
Sebagaimana. anda boleh lihat, kami mula-mula menggunakan

Fungsi menguraikan keseluruhan rentetan menjadi tatasusunan baris mengikut aksara baris baharu, dan kemudian menggunakan fungsi explode dalam setiap baris data untuk menguraikan data menjadi tatasusunan nilai kunci mengikut koma , dan akhirnya memberikan setiap tatasusunan nilai kunci kepada tatasusunan baru dalam tatasusunan dua dimensi. Kaedah ini agak mudah dan praktikal, tetapi ia memerlukan kita meramalkan format data dan pembatas setiap baris data terlebih dahulu. explode

Gunakan fungsi

untuk menukar rentetan format JSON json_decode

Jika kita menyerikan data ke dalam rentetan format JSON dan kemudian menggunakan fungsi

untuk menukarnya menjadi objek tatasusunan, maka kami Anda boleh memproses data dengan mudah dalam sebarang format. Kod khusus adalah seperti berikut: json_decode

$str = '[{"name":"apple","count":10},{"name":"banana","count":20},{"name":"orange","count":30},{"name":"pear","count":40}]';
$data = json_decode($str, true);
print_r($data);
Selepas melaksanakan kod, hasil output adalah seperti berikut:

Array
(
    [0] => Array
        (
            [name] => apple
            [count] => 10
        )

    [1] => Array
        (
            [name] => banana
            [count] => 20
        )

    [2] => Array
        (
            [name] => orange
            [count] => 30
        )

    [3] => Array
        (
            [name] => pear
            [count] => 40
        )

)
Seperti yang anda lihat, kami mula-mula menyusun data menjadi JSON rentetan format, dan kemudian gunakan

Fungsi menukarnya menjadi objek tatasusunan. Kaedah ini boleh mengendalikan data dalam sebarang format, dan boleh menghuraikan dan memproses data format JSON yang dihantar dari bahagian hadapan, yang sangat praktikal untuk pembangunan web. json_decode

Tukar rentetan kepada objek

Kadangkala kita tidak memerlukan tatasusunan, tetapi objek untuk memanipulasi data secara langsung, kita boleh menggunakan kelas standard

yang disediakan dalam PHP Untuk mencipta objek kosong dan membina objek data melalui penetapan harta. Kod khusus adalah seperti berikut: stdclass

$str = '{"name":"张三","age":20,"gender":"男"}';
$obj = json_decode($str);

print_r($obj);
echo $obj->name;
Selepas melaksanakan kod, hasil output adalah seperti berikut:

stdClass Object
(
    [name] => 张三
    [age] => 20
    [gender] => 男
)
张三
Seperti yang anda lihat, kami mula-mula menggunakan fungsi

untuk menukar rentetan format JSON kepada Objek Dalam objek ini, nama atribut ialah nilai kunci dalam data JSON dan nilai atribut ialah nilai yang sepadan dalam data JSON. Kami boleh mengakses atau mengubah suai nilai harta ini melalui sifat. json_decode

Untuk meringkaskan, menukar rentetan kepada objek tatasusunan ialah salah satu operasi yang paling asas dan penting dalam pembangunan web PHP menyediakan pelbagai kaedah untuk melaksanakan proses ini. Kita perlu memilih kaedah yang berbeza mengikut sebenar Melaksanakan operasi untuk memproses dan memanipulasi data dengan lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan menjadi objek tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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