Menggabungkan array menjadi string php. Pemrograman PHP yang Efektif: Array ke String. Informasi: karakter, string dan data




Halo, kemarin kami mempelajari bagaimana Anda dapat memisahkan string dan mendapatkan array darinya. Hari ini saya menyampaikan kepada Anda fungsi yang berlawanan, dengan bantuan yang kami bisa mengkonversi array ke string. Ini disebut fungsi meledak. Prinsip pengoperasian fungsi ini mirip dengan yang sebelumnya, tetapi kami akan mempertimbangkannya dengan contoh:

$array = Himpunan( "Nama saya Denis") ;
$string = meledak( " " , $larik );
gema $string;
?>

Kami telah membuat array dengan tiga elemen, dan dengan meledak fungsi mengubahnya menjadi string. Fungsi ini dapat mengambil dua parameter. Yang pertama bersifat opsional dan menunjukkan pembatas mana yang akan diterapkan di antara elemen array. Jika parameter ini tidak disetel, maka secara default elemen-elemen array akan dipisahkan oleh spasi. Dan parameter kedua adalah array itu sendiri, yang akan diubah menjadi string. Ini semua adalah parameter yang didukung oleh fungsi yang diteliti. Sebagai hasil dari menjalankan fungsi tersebut, Anda akan menerima string (Nama saya Denis). Jika kami menentukan koma sebagai pemisah, maka hasilnya adalah (Nama saya Denis). Saya pikir tidak ada masalah dengan mempelajari fungsi ini, dan Anda dapat menggunakannya sendiri kapan membuat situs Anda. Mengenai hal ini saya menyimpulkan artikel ini, seperti yang Anda lihat, volumenya agak kecil, tetapi sangat penting dari sudut pandang praktik. Sampai jumpa, semoga sukses dalam belajar bahasa pemrograman!

JavaScript diblokir di browser Anda. Izinkan JavaScript agar situs ini berfungsi!

meledak

(PHP3, PHP4, PHP5)

meledak- Menggabungkan elemen array menjadi string (mengubah array menjadi string)

Keterangan

rangkaian meledak(lem string, potongan array)

Mengembalikan string yang diperoleh dengan menggabungkan representasi string dari elemen-elemen dalam larik potongan, memasukkan lem string di antara elemen yang berdekatan.

Contoh 1: Contoh penggunaan meledak()

Komentar: Untuk alasan historis, fungsi meledak() Anda dapat meneruskan argumen dalam urutan apa pun, tetapi untuk penyatuan dengan fungsi meledak() urutan argumen yang terdokumentasi harus digunakan.

Komentar: Sejak versi 4.3.0 argumen fungsi lem meledak() adalah opsional dan default ke string kosong (""). Untuk kompatibilitas mundur, kami menyarankan agar Anda selalu meneruskan kedua argumen.

Komentar: Fungsi ini aman untuk menangani data dalam bentuk biner.

Fungsi ini menggabungkan nilai elemen array menjadi string. Untuk menggabungkan kunci elemen array, gunakan kode berikut:

php meledak untuk array bersarang

Jika Anda melewatkan larik multidimensi untuk diledakkan, Anda akan mendapatkan kesalahan "Konversi larik ke string". Untuk menghindari kesalahan ini, gunakan persamaan fungsi implode berikut ini:

Fungsi multi_implode($lem, $array) ( $_array=array(); foreach($array as $val) $_array = is_array($val)? multi_implode($lem, $val) : $val; return implode($ lem, $_array); )

Lihat juga deskripsi fungsi

Mengonversi data dari satu representasi ke representasi lainnya adalah mekanisme yang populer, seringkali satu-satunya, untuk memecahkan masalah. Array adalah kasus sederhana dari sebuah objek. String adalah representasi alami dari informasi untuk transmisi, pemrosesan, atau penyimpanan.

Pengalaman dan semantik yang diimplementasikan dalam PHP: array, fungsi, dan konstruksi sintaksis, memungkinkan terciptanya solusi optimal untuk memproses informasi dalam bentuk penyajiannya.

Informasi: karakter, string dan data

Dalam bentuknya yang "murni", informasi adalah serangkaian karakter, ucapan, atau rangkaian sinyal. Dalam pemrograman, string, array, dan objek muncul - ini adalah varian dari konstruksi string buatan. Angka juga merupakan string, tetapi angka, bukan karakter.

PHP memungkinkan Anda mengubah string menjadi array dengan berbagai cara. Ada dua fungsi khusus yang melakukan ini "sendiri":

  • $aArr = meledak("x", "string");
  • $aStr = meledak("y", $aArr).

Fungsi pertama menemukan karakter pembatas "x" dan memisahkan string "string" di atasnya. Array yang dihasilkan berisi persis jumlah elemen (baris) yang terdapat di antara karakter "x". Karakter pemisah tidak harus klasik:

  • koma;
  • dot;
  • titik koma.

Anda dapat memisahkan string dengan substring atau dengan kombinasi karakter khusus.

Panjang string adalah strlen() dalam PHP, panjang array adalah count(). Dalam kasus pertama, jumlah karakter dianggap, dalam kasus kedua, jumlah elemen. Karena karakter pembatas tidak disertakan dalam elemen array, nilai count() akan sama dengan jumlah pembatas dalam string yang dikonversi dikurangi satu.

Dalam transformasi terbalik PHP, array diubah menjadi string dengan karakter pembatas (mungkin kosong), dan semua data (angka dan ekspresi logis) digabungkan menjadi satu string. Elemen array dapat berupa array lain, tetapi pemrogram harus menangani kasus ini secara khusus. Fungsi implode() jauh dari rekursif.

Dalam contoh ini, tidak ada masalah mengonversi array PHP menjadi string selama tidak ada array lain di antara elemen-elemennya. Saat mengonversi elemen asosiatif, informasi kunci hilang. Secara khusus, elemen "plum" dan "peach" akan dilucuti dari kuncinya.

Pemisah data dan kunci

Anda tidak boleh menganggap titik, koma, titik dua, dll. sebagai pemisah. Ini adalah kasus khusus untuk memisahkan data satu sama lain. Saat mengubah string dalam PHP, array multidimensi tidak akan berfungsi, dan tidak akan ada tempat asal indeks asosiatif.

Saat mengurai string dengan pembatas, string selalu diperoleh. Tapi ini bukan alasan untuk berhenti di situ. Setelah mengurai satu baris menjadi elemen penyusunnya, kita bisa melangkah lebih jauh.

Misalnya ada sebuah paragraf, di dalamnya ada beberapa kalimat (pemisah "." - titik), dalam kalimat itu ada beberapa frase (pemisah "," - koma, ";" - titik koma dan "." - titik), frase berisi kata-kata (pemisah " " adalah spasi, "," adalah koma, ";" adalah titik koma dan "." adalah titik).

Dengan pembongkaran seperti itu di PHP, array multidimensi akan menjadi mudah, tetapi algoritme akan sangat jelek: jumlah pemisah bertambah, dan kurangnya koneksi antara paragraf yang berdekatan dijamin untuk memastikan duplikasi kalimat, frasa, dan kata.

Saat mengurai string, Anda dapat langsung mengonversi urutan angka menjadi angka, dan nilai boolean menjadi benar dan salah. Tapi ini khusus, informasi kuncinya tidak akan muncul, karena kuncinya adalah artinya, hanya indeks numerik yang dapat dibuat secara otomatis.

Pemisah kompleks

Mengeluarkan array PHP ke string sering digunakan untuk tujuan utilitas. File konfigurasi secara tradisional ditulis baris demi baris, dan nama dipisahkan dari nilai dengan karakter yang sama atau titik dua.

Dengan solusi ini, output array dalam PHP dilakukan ke file, pemisahan baris diperoleh secara otomatis, dan dengan pengenalan terbalik, array asosiatif mudah diperoleh.

Membaca file, pemrogram mendapatkan barisnya, dan memecah setiap baris dengan "=" atau ":", mendapatkan nama dan nilainya. Manipulasi yang sangat populer, meskipun lebih modern menggunakan notasi XML dengan dasar sederhana bahwa selain nama dan nilai, data tambahan dapat disimpan dan dipulihkan, misalnya, atribut variabel.

Dalam contoh dengan paragraf (misalnya, teks natural untuk membuat kamus atau hasil penguraian untuk membuat sampel data), ini bukanlah prosedur khusus untuk mengonversi string menjadi array yang penting, tetapi solusi kompleks untuk semua paragraf atau blok informasi.

Biasanya, tugas seperti itu akan membutuhkan solusi terbalik, ketika "kumpulan" data yang dihasilkan perlu digunakan untuk mencari informasi di dalamnya atau untuk menyusunnya kembali menjadi string.

Mengurai dan memasang kembali string - validasi data

Di PHP: array ke string adalah solusi yang tepat. Jika informasi asli dapat memiliki kesalahan sintaksis, spasi ekstra, karakter yang salah, maka informasi tersebut tidak akan ada selama penguraian. Hasil transformasi informasi awal menurut hukum pemrograman tidak tertulis dilakukan secara formal, dan hasilnya akan disortir dengan jelas.

Prosedur sebaliknya akan membuat string sumber yang benar. Jika kita membandingkan jumlah informasi awal dan hasil transformasi invers, maka kita dapat menarik kesimpulan tentang di mana kesalahan dibuat atau data hilang. Di PHP, panjang array dalam konteks panjang string asli memungkinkan kita untuk menarik kesimpulan yang diinginkan.

Label waktu, tanggal dan acara

Dalam pengembangan proyek kritis, saat membuat objek kontrol, misalnya waktu atau peristiwa, string adalah salah satu representasi data, dan array adalah representasi lainnya. Tapi dalam aplikasi mereka setara.

Ketika diperlukan untuk melakukan perhitungan matematis atau logis, pemrogram memanipulasi array, ketika diperlukan untuk menyimpan data, dia menggunakan versi string.

Indeks akses bidang database - praktik nyata MySQL dan PHP bekerja sama, array per baris = satu indeks di seluruh baris dari beberapa tabel database. Jika database berisi sepuluh tabel, dan baris di setiap tabel dapat dipilih dengan kombinasi nama (nilai) dalam kombinasi tertentu, maka dengan membentuk array akses ke baris, Anda nantinya dapat mengaksesnya menggunakan algoritma pembentukan indeks, dan bukan dengan mencari database.

Mengubah array menjadi string dapat dilihat sebagai algoritme untuk menghasilkan indeks yang diinginkan, sedangkan konten array dibentuk di bawah kendali peristiwa atau tindakan pengguna yang sama sekali berbeda.

Menggabungkan array

Fungsi PHP memungkinkan Anda untuk memanipulasi array dengan bebas. Tapi selalu ada tugas untuk memilih data unik atau mencari data dalam array.

Masalah pertama diselesaikan dengan cara iteratif: sebuah array (atau beberapa array) diurutkan dan serangkaian nilai unik terbentuk - solusi yang jelas, tetapi bukan yang paling efisien.

Menemukan data dalam array juga merupakan sebuah loop, dan jika ada banyak elemen, maka loop akan cukup panjang dan memakan banyak waktu. Dimungkinkan untuk mengirim array ke string dan menggunakan fungsi strpos() untuk menemukan kemunculan elemen yang diperlukan, tetapi ini menimbulkan masalah dalam mendeteksi kejadian yang salah.

Misalnya, kata "baki" dicari, dan kata "palu" ditemukan. Anda dapat menghilangkan kesalahan tersebut jika semua elemen array digabungkan menjadi string menggunakan pemisah khusus, yang akan menghindari ketidakpastian.

Jika baris berisi "[baki]" dan "[palu]", maka tidak akan ada masalah dengan pencarian.

Tetapi tidak ada jaminan bahwa fungsi strpos() lebih cepat daripada loop yang mengulang elemen-elemen array pada volume data nyata.

Solusi terbaik adalah ketika array atau string melakukan hal yang benar dengan sendirinya. Jika Anda sedikit memperumit array dan menyederhanakan string, karena yang pertama adalah kasus khusus dari suatu objek, dan yang kedua adalah serialisasi tradisional, maka setiap orang akan melakukan hal mereka sendiri.

Pada saat yang tepat, objeknya adalah sebuah array, dan ketika sebuah string dibutuhkan, itu akan menjadi sebuah string. Dalam hal ini, sama sekali tidak perlu memiliki array dan string di objek secara bersamaan. Anda dapat membangun struktur data unik dengan akses cepat. Dan logika "array" dan "string" harus dipindahkan ke metode objek.

Pendekatan berorientasi objek menyederhanakan solusi dari banyak tugas pemrosesan string, memungkinkan Anda untuk tidak fokus pada array, loop, dan fungsi pemrosesan string PHP.

Baik string maupun array adalah arti sebenarnya dari realitas, ruang lingkup, tugas. Tidak ada tugas seperti itu - mengirim array ke PHP dalam sebuah string. Tapi ada tugas untuk mendapatkan paragraf (kalimat, frase, kata, angka...) berdasarkan hasil yang didapat pada algoritma sebelumnya.

Algoritma sebelumnya membawa sebuah arti, dan ekspresi yang tepat dari arti tersebut terkandung dalam sebuah array. Tahap selanjutnya dari algoritme adalah transformasi makna menjadi representasi lain, yang nyaman untuk diproses atau diterapkan lebih lanjut.

Mempertimbangkan algoritme sebagai dinamika makna dan transformasi data, dimungkinkan untuk membentuk transformasi yang andal, dapat dipahami, dan efisien.

Jika Anda perlu mengonversi array php menjadi string, ada beberapa alat untuk ini. Alat mana yang digunakan tergantung pada tujuan Anda.

1. fungsi implode()

Dengan bantuannya, Anda dapat "merekatkan" elemen-elemen array menjadi string, melalui pemisah apa pun. Baca selengkapnya: meledak
Contoh:

gema meledak("|", array(1, 2, 3)); // akan mengembalikan string: 1|2|3

Fungsi ini memiliki antagonis burst() , yang sebaliknya, membagi string pada pembatas menjadi elemen larik. Baca selengkapnya: meledak

2. fungsi serialisasi()

Tugas utama dari fungsi ini adalah mengubah variabel (dalam kasus kami, array) menjadi keadaan yang cocok untuk penyimpanan.
Ini digunakan untuk menyimpan array menjadi string, untuk konversi nanti kembali ke array. Anda dapat menyimpan array ke file atau database dan kemudian memulihkannya saat skrip dijalankan berikutnya.
Baca lebih lanjut: serialisasi

$array = array("1" =>; "elemen 1", "2"=> "elemen 2", "3" => "elemen 3"); $string = serialkan($array); gema $string; // akan mengembalikan string: a:3:(i:1;s:6:"elem 1";i:2;s:6:"elem 2";i:3;s:7:"elem 3" ;)

Kemudian dari baris ini, Anda bisa mendapatkan array lagi:

$array = unserialize($string);

3. fungsi json_encode()

Mengembalikan representasi data JSON. Apa itu, Anda bisa membaca.
Dalam kasus kami, fungsi ini mirip dengan serialisasi, tetapi JSON terutama digunakan untuk mentransfer data. Anda harus menggunakan format ini untuk berkomunikasi dengan javascript di frontend. Baca selengkapnya: json_encode

$array = array(1 => "satu", 2 => "dua",); $json = json_encode($array); gema $json; // ("1":"satu","2":"dua")

Fungsi terbalik json_decode() akan mengembalikan objek bertipe stdClass jika parameter fungsi kedua salah. Atau kembalikan array asosiatif jika true diteruskan sebagai parameter kedua. Detail di sini.

PHP sebagai bahasa pemrograman modern memberikan kemampuan untuk mengolah data yang jenisnya dapat ditentukan pada saat aplikasi. Tipe data dapat berubah selama eksekusi program.

String karakter adalah satu-satunya tipe data yang secara alami dilemparkan oleh data tipe lain, dengan dasar sederhana bahwa setiap yang diberikan selalu merupakan urutan karakter.

Array di PHP

Selain variabel biasa, bahasa PHP menyediakan programmer dengan sintaks dan fungsi untuk bekerja dengan array. Selain larik biasa yang menyediakan akses ke elemennya dengan kunci (angka dari 0 hingga jumlah elemen), Anda dapat menggunakan larik asosiatif. Yang terakhir, akses dapat dilakukan baik dengan indeks numerik (ditetapkan secara otomatis) dan dengan kunci yang ditentukan oleh pemrogram.

PHP menyediakan kemampuan untuk menukar indeks dan nilai, yang masuk akal karena kuncinya tidak diberlakukan secara resmi lebih ketat daripada nilainya, tetapi Anda harus menggunakannya dengan hati-hati. Untuk waktu yang lama, tradisi pemrograman beralih ke huruf-huruf alfabet Latin. Cyrillic, sebagai aturan umum, membawa serta masalah penyandian. Anda tidak boleh menyalahgunakan fitur bahasa saat Anda membutuhkan kode yang praktis dan aman.

Versi indeks yang optimal adalah frasa bermakna dalam bahasa Inggris, sebaiknya tanpa spasi. Sangat bagus bahwa sintaks PHP mendeklarasikan "kebebasan" pada kunci, tetapi yang terbaik adalah memercayai pengalaman Anda sendiri dan fokus pada kode yang aman.

Fitur paling menarik dan praktis dari solusi array-ke-string PHP adalah kemampuan untuk mengonversi antara yang setara.

PHP: Array dan String

Fungsi array-ke-string PHP: $cLine = implode("/ ", $aStyle) menghasilkan string karakter dari semua elemen array $aStyle, dipisahkan oleh karakter "/ ". Jika Anda menentukan " ", maka semua elemen akan digabungkan menjadi satu urutan karakter yang berkelanjutan.

Fungsi kebalikan $aStyle = meledak ("/", $cLine) membuat larik dari semua string yang dipisahkan oleh "/".

Saat menggunakan fungsi burst(), berguna, tetapi tidak wajib, untuk memeriksa keberadaan karakter pembatas yang diinginkan dalam string sumber.

Anda juga dapat menampilkan array ke string dalam PHP menggunakan cara yang lebih manusiawi dan terkontrol.transform strings (proses setiap elemen).

PHP: melemparkan array ke string melalui objek

Objek adalah kumpulan data dan kode. Tidak ada yang menghalangi Anda untuk menempatkan, misalnya, dua fungsi dalam kode: tulis dan baca. Berkat pewarisan dan polimorfisme, memiliki objek lingkaran, Anda dapat memiliki variasinya: biru, merah, dan hijau.

Masing-masing akan ditulis (dibaca) dengan caranya sendiri, tetapi bagaimana tepatnya solusi "array ke string" diimplementasikan dalam PHP tidak masalah. Intinya, objek memiliki arti tertentu, memiliki struktur dan metode yang berbeda. Contoh dengan dua fungsi - khusus. Dengan membangun mekanisme seperti itu di PHP, array akan ditempatkan dalam sebuah string di setiap kasus tertentu dengan caranya sendiri.

Ini membuka berbagai kemungkinan. Satu objek memiliki dua array, yang lain memiliki dua puluh, dan leluhur yang sama (biasanya yang pertama abstrak) tidak memiliki apa-apa. Dengan menggunakan metode leluhur bersama mereka, Anda tidak perlu khawatir tentang sesuatu yang tidak ditulis, dibaca, diproses, atau ditampilkan.

Berkat pewarisan, bentuk apa pun yang digunakan di mana pun dalam program, dapat direpresentasikan sebagai string dan dibaca kembali ke objek dari bentuk khusus ini.