-1

Here is my task

$value1= ['apple', 'ball', 'cat', 'dog'];
$value2= ['elephant', 'frog', 'griffee', 'honeybee'];
$value3 = [1,3,4,5];

I want to create a csv file by combining this two different array.

$fp = fopen('sample.csv', 'w');

foreach ( $value as $values ) {
   $val1 = explode(",", $values1);  
   fputcsv($fp, $val1);
}
fclose($fp);

and output of csv should be apple, elephant

                            ball, frog, 1    
                            cat, griffee, 3
                            dog, honeybee, 4

I am getting only single column. if i join two array it's showing error.

Can any one help me how to solve this problem. Thanks you and all suggestions are welcome.

Scott Conway
  • 975
  • 7
  • 13
jvk
  • 2,133
  • 3
  • 19
  • 28
  • RTFM: [fputcsv](http://php.net/fputcsv) the 2nd argument is expected to be an ARRAY. you're not passing in an array, you're passing in a STRING. – Marc B Oct 20 '16 at 19:55

1 Answers1

1

Pay close attention to the variable names you use, you have several typos. That being said. Try this code

$value1 = ['apple', 'ball', 'cat', 'dog'];
$value2 = ['elephant', 'frog', 'griffee', 'honeybee'];

$fp = fopen('sample.csv', 'w');

for ( $i = 0; $i < count($value1) - 1; ++$i) {
   fputcsv($fp, array($value1[$i], $value2[$i]));
}

fclose($fp);
EGN
  • 2,480
  • 4
  • 26
  • 39
  • Thanks it's working fine. But if i have more than two arrays it's adding only two values. – jvk Oct 20 '16 at 20:16
  • you are constructing the one row here array($value1[$i], $value2[$i]). you can keep adding more values to the array... eg: array($value1[$i], $value2[$i], $value3[$i]) – EGN Oct 20 '16 at 20:44