Untuk mengonversi Array menjadi String dengan PHP, kita dapat menggunakan dua fungsi bawaan berbeda yang tersedia di PHP. Kedua fungsi ini hanya memerlukan satu larik dalam satu waktu untuk mengubahnya menjadi string.
Menggunakan fungsi json_encode() untuk mengubah Array menjadi string
Untuk mengonversi larik menjadi string, salah satu cara umum untuk melakukannya adalah dengan menggunakan json_encode() yang digunakan untuk mengembalikan representasi nilai JSON.
Sintaks untuk menggunakan fungsi ini tetap sangat mendasar-
json_encode ( campuran$nilai
[ int $options
= 0 [ int $kedalaman
= 512 ]] ) : string|salah
Fungsi ini mengambil nilai apa pun sebagai masukan kecuali sumber daya. Namun dalam kasus kita, kita akan menggunakan Array sebagai nilai masukan, lalu fungsi ini akan mengubahnya menjadi representasi JSON dari nilai yang diberikan.
'Jerman' ), Himpunan( 'Ferrari' => 'Italia' ), Himpunan( 'Honda' => 'Jepang' ) ); echo json_encode($cars);
// OUTPUT [{"BMW":"Jerman"},{"Ferrari":"Italia"},{"Honda":"Jepang"}]
Sekilas, ini tidak terlihat seperti string tetapi seperti inilah tampilan JSON. Jika kita menggunakan var_dump()
di atas json_encode()
maka tipe datanya akan ditampilkan sebagai string
var_dump(json_encode ($mobil));
// OUTPUT string(57) "[{"BMW":"Jerman"},{"Ferrari":"Italia"},{"Honda":"Jepang"}]"
Menggunakan fungsi implode untuk mengonversi array menjadi string
Sintaks untuk fungsi implode cukup sederhana-
implode ( string
$glue
, array$pieces
) : string p>
Di sini,
$glue: adalah string / karakter khusus yang digunakan untuk menggabungkan nilai array. Defaultnya adalah string kosong.
$pieces: adalah larik yang nilainya akan direkatkan menggunakan lem.
Ini akan mengembalikan semua elemen Array yang digabungkan bersama-sama menggunakan lem dalam urutan urutan yang sama dengan kemunculannya dalam array.
1. Menggunakan Indexed Array
// OUTPUT BMW, Ferrari, Honda2. Menggunakan Larik asosiatif
'Jerman', 'Ferrari' => 'Italia', 'Honda' => 'Jepang'); $mobil_bersama = meledak(", ", $mobil); gema $cars_together;// OUTPUT Jerman, Italia, JepangSeperti disebutkan di atas, semua nilai dari array akan tetap bersatu. Oleh karena itu, jika ada situasi di mana kita perlu mendapatkan nilai array asosiatif untuk direkatkan, gunakan fungsi yang sama.
3. Menggunakan Larik Multidimensi
Larik multidimensi bisa sederhana ATAU rumit bergantung pada situasi dalam persyaratan proyek. Kita akan melihat larik multidimensi dasar dan untuk itu, kita perlu menulis fungsi callback yang akan menggabungkan nilainya.
'Jerman' ), Himpunan( 'Ferrari' => 'Italia' ), Himpunan( 'Honda' => 'Jepang' ) ); gema implode(', ', array_map(fungsi ($masuk) { kembali ($masuk[kunci($masuk)]); }, $mobil));// OUTPUT Jerman, Italia, JepangMenggunakan fungsi Serialize untuk mengonversi larik menjadi string
Fungsiserialize() dalam PHP digunakan untuk mengembalikan string yang berisi representasi byte-stream dari nilai apa pun yang dapat disimpan dalam PHP. serialize digunakan untuk menyimpan semua variabel dalam sebuah objek.
Untuk membuat serial nilai apa pun, kita perlu meneruskan nilai tersebut ke fungsi dan sebagai gantinya, ia akan mengembalikan representasi aliran byte dari nilai tersebut.
'Jerman' ), Himpunan( 'Ferrari' => 'Italia' ), Himpunan( 'Honda' => 'Jepang' ) ); print_r(serialize($automobile));// OUTPUT a:3:{i:0;a:1:{s:3:"BMW";s:7:"Jerman";}i:1;a:1:{s:7:"Ferrari";s: 5:"Italia";}i:2;a:1:{s:5:"Honda";s:5:"Jepang";}}Mari hancurkan string serial.
a:3
-> mengatakan bahwa kita memiliki 3 elemen utamai:0/i:1/i:2
-> mengatakan pertama/kedua dan elemen ketiga masing-masinga:1
-> menunjukkan jumlah elemen seperti yang kita lihat a:3s:3/s:7
-> menunjukkan panjang string. Untuk setiap jenis data, akan ada panjang yang berbeda.Kesimpulan:
Kita dapat menggunakan salah satu metode untuk memenuhi persyaratan. Tetapi ketika perlu memutuskan untuk menggunakan json_encode() ATAU serialize(), saya selalu menyarankan menggunakan json_encode() karena membutuhkan ruang penyimpanan yang lebih kecil dibandingkan dengan serialisasi.