php数组,在foreach循环中使用相同的键存储多个值
我相信我正在努力实现的目标是直截了当的 在某些上下文中,如果给定距离小于给定接近距离($prox),下面的代码将城市名称($cityProx)推送到一维数组($validLocationCity)中 这似乎是一个不正确的和过于复杂的方式来做我想做的事情。因为我不知道需要迭代多少次,所以这个方法很糟糕。 我承认,我想我可能只是误解了我在上面的后一个例子中到底在做什么 如果有人能帮上忙,我会非常感激,我还想问你是否能找到一个快速的解决方案来展示我如何使用foreach或类似工具从你的解决方案中获取值 希望你能找到我,php数组,在foreach循环中使用相同的键存储多个值,php,arrays,multidimensional-array,key,multiple-value,Php,Arrays,Multidimensional Array,Key,Multiple Value,我相信我正在努力实现的目标是直截了当的 在某些上下文中,如果给定距离小于给定接近距离($prox),下面的代码将城市名称($cityProx)推送到一维数组($validLocationCity)中 这似乎是一个不正确的和过于复杂的方式来做我想做的事情。因为我不知道需要迭代多少次,所以这个方法很糟糕。 我承认,我想我可能只是误解了我在上面的后一个例子中到底在做什么 如果有人能帮上忙,我会非常感激,我还想问你是否能找到一个快速的解决方案来展示我如何使用foreach或类似工具从你的解决方案中获取值
提前谢谢 使用城市名称作为键并应用asort()将实现此目的
$myarr = ['delhi' => 12,
'kolkata' => 30,
'hyderabad' => 4,
'adilabad' => 1,
'vizag' => 10];
asort($myarr);
然后,您可以使用
foreach($myarr as $key => $value) {
echo "{$key} : {$value}";
}
或
你能给我们看一下你最终得到的数组吗?也许是时候进行快速排序了,或者使用城市名称作为键,使用距离作为值?@PruthviNag这是一个很好的建议。这帮了大忙,我对使用字符串作为键感到困惑,因为当我之前尝试时,我错误地打印了键并看到了数值。谢谢你的帮助,谢谢!
if($validLocationCitySortDistance[$actualDistance] != null)
{
$validLocationCitySortDistance[$actualDistance] [] = $cityProx;
}
else
{
$validLocationCitySortDistance[$actualDistance] = $cityProx;
}
$myarr = ['delhi' => 12,
'kolkata' => 30,
'hyderabad' => 4,
'adilabad' => 1,
'vizag' => 10];
asort($myarr);
foreach($myarr as $key => $value) {
echo "{$key} : {$value}";
}
array_walk($myarr, function($value, $key) {
echo "{$key} : {$value} ";
});