显示在嵌套结构PHP数组

问题描述:

 
array(
[country] => India, [state] => Kerala, [city] => Kottayam) 
      array([country] => India, [state] => Bihar, [city] => Vijayavada) 
      array([country] => India, [state] => Kerala, [city] => Cochin) 
      array([country] => Pakistan, [state] => Sate1, [city] => City1) 
      array([country] => Pakistan, [state] => Sate1, [city] => City2) 

试图array_unique但由于同一指数的失败只返回第一个数组显示在嵌套结构PHP数组

同时,我想打印的上述数组

<div class="location-content"> 
    <h3>India</h3> 
     <h4>Kerala</h4> 
     <ul class="countries"> 
      <li><a href="#"> Kottayam</a> </li> 
      <li><a href="#">Cochin</a> </li> 
     </ul> 
    <h4>Bihar</h4> 
    <ul class="countries"> 
      <li><a href="#"> Vijayavada</a> </li> 
    </ul> 
    <h3>Pakistan</h3> 
     <h4>Sate1</h4> 
     <ul class="countries"> 
      <li><a href="#"> City1</a> </li> 
     </ul> 
    <h4>Sate2</h4> 
    <ul class="countries"> 
      <li><a href="#"> City2</a> </li> 
    </ul> 
<div> 
+0

尝试使用array_unique来获取索引列表?你是手动构造这个数组还是这是数据库查询的结果? – Devraj

+0

它来自db查询。已经有数组值是唯一的 – abhis

试试像这样:

 
function arrayUnique($myArray) 
{ 
    if(!is_array($myArray)) 
      return $myArray; 

    foreach ($myArray as &$myvalue){ 
     $myvalue=serialize($myvalue); 
    } 

    $myArray=array_unique($myArray); 

    foreach ($myArray as &$myvalue){ 
     $myvalue=unserialize($myvalue); 
    } 

    return $myArray; 

} 
    echo "<pre>"; 
    print_r(arrayUnique($arr));