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
implode is your friend:
foreach($result as $row){
echo implode('-', $row) . "\n";
}
<?php
$row = [
'42' => [1, 2, 3],
'43' => [2, 3, 4],
];
array_walk($row, function($item, $key) {
echo $key . implode('-', $item) . PHP_EOL;
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With