Dalam pembangunan PHP, kita selalunya perlu mengendalikan penukaran rentetan dan tatasusunan dalam logik kod. Salah satu kes biasa ialah menukar rentetan yang dikurung menjadi tatasusunan PHP. Transformasi ini membolehkan kami memanipulasi data dengan lebih mudah. Dalam artikel ini, kita akan membincangkan cara menukar rentetan yang dikurung menjadi tatasusunan dalam PHP.
Rentetan kurungan ialah rentetan yang dikelilingi oleh kurungan kerinting ({}), di mana setiap pasangan nilai kunci didahului dengan titik bertindih ( :), berbilang pasangan nilai kunci dipisahkan dengan koma (,). Sebagai contoh, berikut ialah contoh rentetan kurung:
$str = "{ 'name': 'John', 'age': 25, 'city': 'New York' }";
Format rentetan kurung hampir serupa dengan format JSON. Walau bagaimanapun, terdapat perbezaan utama antara mereka, iaitu dalam rentetan pendakap, nama kunci dan nilai rentetan mesti disertakan dalam petikan tunggal ('), manakala dalam JSON mereka boleh menggunakan petikan tunggal atau berganda ("" ).
Dalam PHP, kita boleh menggunakan fungsi eval() untuk menukar rentetan pendakap kepada tatasusunan. Fungsi eval() akan melaksanakan rentetan yang dihantar sebagai kod PHP, jadi kita boleh melakukannya dengan melepaskan petikan dalam rentetan pendakap dan memasukkannya ke dalam pembolehubah rentetan dan menghantar pembolehubah itu ke fungsi eval () untuk mencapai penukaran. Langkah-langkah khusus adalah seperti berikut:
Berikut ialah contoh:
$str = "{ 'name': 'John', 'age': 25, 'city': 'New York' }"; // 将单引号转义为双引号 $json = str_replace("'", "\"", $str); // 将字符串放到一个字符串变量中 $code = '$arr = ' . $json . ';'; // 使用eval()函数执行代码,得到数组 eval($code); print_r($arr);
Hasil pelaksanaan kod adalah seperti berikut:
Array ( [name] => John [age] => 25 [city] => New York )
Sahkan dan tapis input untuk mengelakkan suntikan kod hasad
$str = "{ 'name': 'John', 'age': 25, 'city': 'New York' }"; // 将单引号转义为双引号 $json = str_replace("'", "\"", $str); // 将字符串转换成JSON格式的字符串 $json_str = str_replace(" ", "", $json); // 使用json_decode()函数解析JSON字符串 $arr = json_decode($json_str, true); print_r($arr);
Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan braced kepada array dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!