Best way to output PHP array into csv file

Issue

This Content is from Stack Overflow. Question asked by Soyas Limbu

I am currently working on a simple task yet a bit tricky. My task is to read all the images from the directory and write them into CSV file. So, when I read the directory I get the array list of images filename data will look like below:

array (
    '13763',
    '13763-1',
    '13763-2',
    '13764',
    '13765',
    '13765-1',
);

I wanted this data to be exported into csv file which looks like below:
enter image description here

So, I am going through the foreach loop as $image which gives me each element and each loop I am checking the string has ‘-‘ character or not. If it has no ‘-‘ character than I assign $currentId = $image but if it has ‘-‘ then I assign $additionalImage .= ‘, ‘.$image.’.jpg’. But the problem is I only want to insert one row if it has additional images ‘13763.jpg, 13763-1.jpg, 13763-2.jpg’. Below is my code what I have done so far.

$currentId = '';
$additionalImages = '';
$addId = '';

foreach ($images as $image) {
   
    if (strpos($image, '-') == FALSE) {
        $currentId = $image;
        $additionalImages = $image.'.jpg';
    }

    if (strpos($image, '-') != FALSE) {
        $addId = substr($image, 0, strpos($image, '-'));
        $additionalImages .= ', '.$image.'.jpg';
    }

    
    // insert into csv file

}



Solution

This question is not yet answered, be the first one who answer using the comment. Later the confirmed answer will be published as the solution.

This Question and Answer are collected from stackoverflow and tested by JTuto community, is licensed under the terms of CC BY-SA 2.5. - CC BY-SA 3.0. - CC BY-SA 4.0.

people found this article helpful. What about you?