2016-10-20 19 views
-1

Вот моя задачаКак объединить два различных значения массива и создать CSV-файл в PHP

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

Я хочу, чтобы создать файл CSV, комбинируя это два разных массива.

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

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

и выход из CSV должен быть яблоко, слон

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

Я получаю только один столбец. если я присоединяюсь к двум массивам, он показывает ошибку.

Может ли кто-нибудь помочь мне решить эту проблему. Спасибо вам, и все предложения приветствуются.

+0

RTFM: [fputcsv] (http://php.net/fputcsv) ожидается, что второй аргумент будет ARRAY. вы не проходите массив, вы проходите в STRING. –

ответ

1

Обратите внимание на имена переменных, которые вы используете, у вас есть несколько опечаток. Что, как говорится. Попробуйте использовать этот код

$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); 
+0

Спасибо, он отлично работает. Но если у меня есть более двух массивов, это добавляет только два значения. – whoami

+0

вы строите массив с одной строкой ($ value1 [$ i], $ value2 [$ i]). вы можете продолжать добавлять в массив больше значений ... например: array ($ value1 [$ i], $ value2 [$ i], $ value3 [$ i]) – EGN

+0

Спасибо, я понял. – whoami

 Смежные вопросы

  • Нет связанных вопросов^_^