Php 二维阵列

Php 二维阵列,php,multidimensional-array,Php,Multidimensional Array,我们有这些阵列 $cities = array("nagpur","kanpur","delhi","chd","Noida","mumbai","nagpur"); $names = array("munish","imteyaz","ram","shyam","ankit","Rahul","mohan"); 现在我想要一个二维数组,其中城市名称作为键,所有对应的名称作为其值 <?php $cities = array("nagpur","kanpur","nagpur","delh

我们有这些阵列

$cities = array("nagpur","kanpur","delhi","chd","Noida","mumbai","nagpur");
$names = array("munish","imteyaz","ram","shyam","ankit","Rahul","mohan");
现在我想要一个二维数组,其中城市名称作为键,所有对应的名称作为其值

<?php
$cities = array("nagpur","kanpur","nagpur","delhi","kanpur");
$names = array("ankit","atul","aman","amit","manu");
foreach ($cities as $i => $value) {
 echo "\n";

 echo $value;
 $city=$value;
 $k=0;
 foreach ($cities as $ii => $m) {
  If($city==$m)
 {
  echo$names[$ii] ;
  $final[$i][$k]=$names[$ii];


  $arr = array($city => array($k =>$names[$ii] ));
   $k++;
 }

 }
 echo"\n<tr></tr>";
}

我试过的是这个。但它不起作用。帮帮我,你不能指望PHP猜到如何配对它们,现在可以吗

你真正想做的是:

$final=array(
    "nagpur" => array("munish","imteyaz"),
    "kanpur" => array("ram","shyam"),
    etc.
);
然后,如果您还需要单独的数组,您可以构建那些迭代$final的数组,而不是相反

完整代码:

$final=array(
    "nagpur" => array("munish","imteyaz"),
    "kanpur" => array("ram","shyam"),
);

$cities=array();
$names=array();
foreach ($final as $city => $nnn) {
    array_push($cities,$city);
    foreach ($nnn as $nn) {
        array_push($names,$nn);
    }
}
试试这个:

<?php
$cities = array("nagpur","kanpur","nagpur","delhi","kanpur");
$names = array("ankit","atul","aman","amit","manu");

$arr = array();
foreach($cities as $key=>$city) {
    $arr[$city][] = $names[$key];
}
echo "<pre>";
print_r($arr);
?>

让我们知道它是怎么回事。

你怎么知道哪个名字属于一个城市?您能否举例说明结果数组的外观?您可以按照Johannes的建议使用array_combine,但这将创建一个一维数组,因此我不确定您想要什么…比如对于nagpur,值将是munish和mohanthnx:它工作正常。你能帮我再做一件事吗?就像我想按字母顺序对名字排序一样,&$values{sort$values;}应该排序。让我们知道它是否有效。同时,如果你做了你需要的事情,也要考虑给予一个赞成和接受的答案。