Взрыв простого массива
будет выглядеть так
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
и это вернет это
lastname,email,phone
отлично, так что я мог бы сделать это вместо
$array = array('lastname', 'email', 'phone');
$comma_separated = implode("','", $array);
$comma_separated = "'".$comma_separated."'";
и теперь у меня есть то, что я хочу, красивая красивая строка csv
'lastname','email','phone'
есть ли лучший способ сделать это, мне кажется, что должен быть необязательный параметр для взрыва, я что-то упускаю?
$comma_separated = "''";
Ответы:
Нет, то, как вы это делаете, в порядке.
implode()
принимает только 1-2 параметра (если вы просто предоставляете массив, он объединяет части пустой строкой).источник
источник
<ul> <li> {!! implode('</li><li>', session('messages')) !!} </li> </ul>
Вы можете использовать
array_map()
:ДЕМО
Также обратите внимание, что есть,
fputcsv
если вы хотите записать в файл.источник
источник
Не знаю, быстрее ли это, но вы можете сохранить строку кода своим методом:
Из
Кому:
источник
Если вы хотите использовать циклы, вы также можете:
Демо: http://codepad.org/O2kB4fRo
источник
array_map
но без использованияarray_map
В качестве альтернативы вы можете создать такую функцию:
источник
Если вы хотите избежать подсистем fopen / fputcsv, вот фрагмент, который строит экранированную строку CSV из ассоциативного массива ....
Или из списка предметов ...
Затем вы можете вывести строку по своему желанию.
источник
вы можете сделать это и так
источник
Я думаю, это то, что ты пытаешься сделать
источник
Другой возможный вариант, в зависимости от того, для чего вам нужен массив:
Это поместит "[" и "]" вокруг строки, что вы можете или не хотите.
источник