Mark Kelly wrote:
> Hi.
>
> On Sunday 12 April 2009, PJ wrote:
>
>> foreach does not allow for different formatting for output...
>>
>
> [snip]
>
>
>> But how do you get result1, result2 & result3 // with <br> at end ?
>>
>
> $lastIndex = count($a) - 1; // Adjust for zero-indexing.
> $outputString = '';
> foreach ($a as $index => $value) {
> if ($index != $lastIndex) {
> $outputString .= "$value, ";
> } else {
> $outputString = rtrim($outputString,', '); // Strip last comma.
> $outputString .= " & $value<br />";
> }
> }
> echo $outputString;
>
> Like that? If your array is associative you can drop the $lastIndex calc
> and adjust the loop to update a counter instead.
>
> HTH
>
> Mark
>
>
Thanks for the suggestion, Mark. I've already experimented with count;
you're close, but there is still a small glitch and that's in count();
foreach doesn't give a damn about count so you can't use that - it is
reset once inside the foreach loop. And, the "as $index" cannot relate
to the $lastIndex because the array index (which would be the index in
the "as $index") can be any number and is not sequential. There are a
couple of other ways, one is suggested by Jim Lucas in the thread
"extract varying data from array with different formatting"; another is
to change the SELECT query to use a ranking reference - I think it may
be a bit more complex, though.
Any other thoughts? ;-) I'll appreciate them.
--
unheralded genius: "A clean desk is the sign of a dull mind. "
-------------------------------------------------------------
Phil Jourdan --- [email protected]
http://www.ptahhotep.com
http://www.chiccantine.com/andypantry.php
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php