2013-01-13 75 views
-4

我需要可能简单代码的帮助。检查数值是否存在于多维数组中

while ($row=mysql_fetch_array($result)){ 
    $id= $row["id"]; 
    $city = $row["city"]; 
    $name = $row["name"]; 
    $country = $row["country"]; 
    $iata = $row["iata"]; 
    //array here 
} 

我要检查,如果国家已经在阵列中,如果是,再加入城市到正是国阵

类似:

$result{ 
    'United Kingdom' => 'London', 'Oxford' 
} 
+0

您提供的第二个片段是无效的......我们怎么能知道你想要什么,如果你提供无效的代码?另外,你是否想在英国的一个阵列中获得“伦敦”和“牛津”?如果是这样,则创建一个数组(使其成为2d),而不是第一维中的另一个数组条目。 – jeremy

回答

0

如果你想要一个国家作为索引和城市数组作为值的数组,那么:

$arr = Array(){'uk' => Array(){'london', 'Oxford'}, 
       'foo' => Array(){'bar'} 
     }; 

试试这个:

var $arr = Array(); 
while ($row=mysql_fetch_array($result)){ 
    $id= $row["id"]; 
    $city = $row["city"]; 
    $name = $row["name"]; 
    $country = $row["country"]; 
    $iata = $row["iata"]; 

    $arr[$country][] = $city; 
} 
0

以下可能就是你需要:

if (isset($result[$country]) { 
    $result[$country][] = $city; 
} 
else { 
    $result[$country] = array($city); 
}