Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP - print multidimensional array

I'm having a brain-block with this piece of code. I want to print a multidimensional array in PHP where the 'columns' are separated by hyphens and the 'rows' are separated by newlines.

My problem is that my code prints a '-' at the end of each row. This is obvious when looking at my code:

N.B. ($result is a 2D array i.e. $result[][])

foreach($result as $row){
    foreach($row as $column){
            echo $column . "-";
    }
    echo "\n";
}

This is the output:

42-1-1394752507-16.125-
43-1-1394752569-16.125-
44-1-1394752632-16.562-
45-1-1394752693-17.125-

What is the best way to print this out to avoid the trailing - on each row? I could do a check to see if the current $column is the last element in the $row but I don't actually know how to do this

like image 857
nagyben Avatar asked Dec 10 '25 09:12

nagyben


2 Answers

implode is your friend:

foreach($result as $row){
    echo implode('-', $row) . "\n";
}
like image 61
AbraCadaver Avatar answered Dec 11 '25 21:12

AbraCadaver


<?php

$row = [
    '42' => [1, 2, 3],
    '43' => [2, 3, 4],
];

array_walk($row, function($item, $key) {
    echo $key . implode('-', $item) . PHP_EOL;
});
like image 45
keelerm Avatar answered Dec 11 '25 21:12

keelerm



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!