views:

76

answers:

2

Not sure what could be the problem.

I'm dumping data from an array $theArray into theFile.txt, each array item on a separate line.

$file = fopen("theFile.txt", "w");
foreach ($theArray as $arrayItem){
    fwrite($file, $arrayItem . '\n');
}
fclose($file);

Problem is when I open theFile.txt, I see the \n being outputted literally. Also if I try to programmatically read the file line by line (just in case lines are there), it shows them as 1 line meaning \n are really not having their desired effect.

+2  A: 

Enclose \n in double quotes as "\n"

Inside a single quote a \n is treated as a literal slash followed by an n, but inside a double quote it is interpreted as a newline char.

codaddict
+2  A: 

Single quotes do not process anything inside the quotes. Any '$' or escaped characters will appear exactly as they are printed with no modification (unless you run them through a function. You will have to use double quotes in order for the '\n' to appear as a line break in the file.

animuson