господа не входите в полемику!
я вспомнил почему не пользуюсь fputcsv
- эта функция делает тоже что и я тоесть разбирает массив в строку и записывает построчно fwrite (возможно я не прав)
 
		 
		
	 
Прав.
	
	
		
			[*]я сам создал свою функцию записи в фаил со своими правилами, делителями и ограничениями
		
		
	 
Неленивый дурак - хуже, чем просто ленивый или просто дурак.
Мало того, что он не решает проблем, так он ещё создаёт проблемы другим.
	
	
		
			[*]у меня там есть массивы  у которых есть вложенные массивы которые могут быть пустыми, то есть мне нужно собрать массив в fputcsv из всего этого и чтобы столбцы с пустыми значениями не сдвигались, сложно, проще собрать строку и вместо пустого места вставить сразу делитель ';' тогда не будет смещения по столбцам (это все для экселя)
		
		
	 
Всего то нужно сделать array_map с калбэком, который сделает всё, чтобы fputcsv получила на входе одномерный массив строк/чисел.
	
	
		
			[*]только делитель ; с " " отлично отображает данные в эксель  по ячейкам без всяких преобразований
		
		
	 
Любой разделитель. Вообще любой.
	
	
		
			[*]где то прочитал что fputcsv в каких то моментах может не оборачивать строку в " "
		
		
	 
Может. Если в строке нет кавычек и переводов строк. Например, если это - число.
	
	
		
			[*]и об этом слышал Использование php-функции fputcsv записывает только \n и не может быть настроено (но не уверен)
		
		
	 
Ну и что? Эксель всё съест. ДАже если не съест, записать во временный файл, а потом прогнать foreach($file as $line) fwrite "$line\r\n";
намного проще и прямее, чем городит огород с ручной генерацией CSV.
	
	
		
			возможно я в чем-то не прав не ругайте сильно, буду впитывать все нравоучения 
		
		
	 
Ты неправ в первую очередь в том, что где-то что-то услышал и поверил, вместо того, чтобы проверить или хотя бы прочесть документацию.