Menerapkan array sederhana
akan terlihat seperti ini
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
dan itu akan mengembalikan ini
lastname,email,phone
bagus, jadi saya mungkin melakukan ini sebagai gantinya
$array = array('lastname', 'email', 'phone');
$comma_separated = implode("','", $array);
$comma_separated = "'".$comma_separated."'";
dan sekarang saya memiliki apa yang saya inginkan string csv cantik yang bagus
'lastname','email','phone'
apakah ada cara yang lebih baik untuk melakukan ini, menurut saya harus ada parameter opsional untuk implode apakah saya kehilangan sesuatu?
$comma_separated = "''";
Jawaban:
Tidak, caramu melakukannya baik-baik saja.
implode()
hanya membutuhkan 1-2 parameter (jika Anda hanya menyediakan sebuah array, itu menggabungkan potongan-potongan dengan string kosong).sumber
sumber
<ul> <li> {!! implode('</li><li>', session('messages')) !!} </li> </ul>
Anda bisa menggunakan
array_map()
:DEMO
Perhatikan juga bahwa ada
fputcsv
jika Anda ingin menulis ke file.sumber
sumber
Tidak tahu apakah ini lebih cepat, tetapi, Anda dapat menyimpan sebaris kode dengan metode Anda:
Dari
Untuk:
sumber
Jika Anda ingin menggunakan loop, Anda juga dapat melakukan:
Demo: http://codepad.org/O2kB4fRo
sumber
array_map
tetapi tanpa menggunakanarray_map
Atau Anda dapat membuat fungsi seperti itu:
sumber
Jika Anda ingin menghindari sub-sistem fopen / fputcsv, berikut adalah cuplikan yang membuat string CSV yang lolos dari array asosiatif ....
Atau dari daftar objek ...
Kemudian Anda dapat mengeluarkan string sesuai keinginan.
sumber
Anda juga bisa melakukannya dengan cara ini
sumber
Saya pikir inilah yang Anda coba lakukan
sumber
Opsi lain yang memungkinkan, tergantung pada apa Anda membutuhkan array untuk:
Ini akan menempatkan '[' dan ']' di sekitar string, yang mungkin Anda inginkan atau tidak inginkan.
sumber