Use this code:
Do something like this:
- iterate your array and create another
key
-ed array (say$processedArray
) where key value taken from 1st index on each array - on each iteration, add 2st index to it's appropriate 1st key.
- after that, iterate this
$processedArray
to output it appropriately.
I know reading code would be easier, so, try this one:
<?php
$data = array(
array('name'=>'John', 'content'=>'Content1'),
array('name'=>'John', 'content'=>'Content2'),
array('name'=>'John', 'content'=>'Content3'),
array('name'=>'Jim', 'content'=>'Content'),
array('name'=>'Joana', 'content'=>'Content1'),
array('name'=>'Joana', 'content'=>'Content2'),
);
$processedArray = array();
foreach( $data as $each )
{
if( !isset( $processedArray[ $each[ 'name' ] ] ))
$processedArray[ $each[ 'name' ] ] = array();
$processedArray[ $each[ 'name' ] ][] = $each[ 'content' ];
}
echo "<ul>
";
foreach( $processedArray as $key => $arrVal)
{
echo " <li>$key
";
echo " <ul>
";
foreach( $arrVal as $value )
{
echo " <li>$value</li>
";
}
echo " </ul>
";
echo " </li>
";
}
echo "</ul>
";
?>