将索引数组更改为关联数组

Changing an indexed array to an associative array

我有一个如下所示的数组

1 => "Los Angeles" 
2 => "California" 
3 => "St. Louis" 
4 => "Missouri" 
5 => "Boston" 
6 => "Massachusetts"

我想将其更改为关联数组,因此每个奇数条目索引将是城市,每个偶数条目将是州。 让我知道这是否有意义。

数组键不能同名。它们必须是 'city1'、'city2' 等

根据您输入的标题,您想要关联数组,但您希望所有索引都相同,这是不可能的。阅读你的问题之外的内容,如果我理解正确的话,你数组中的所有奇数项都是城市,偶数项是州,你想把它分开吗?然后尝试以下:

<?php
$scrambled_city_state = array(
    1 => "Los Angeles",
    2 => "California",
    3 => "St. Louis",
    4 => "Missouri",
    5 => "Boston",
    6 => "Massachusetts"
);
$cities = array();
$states = array();
foreach ($scrambled_city_state as $key => $city_state) {
    if ($key % 2 == 0) {

        // state
        $states[] = $city_state;
    } 
    else {

        // city
        $cities[] = $city_state;
    }
}
var_dump($cities, $states);
?>

输出:

array(3) {
  [0]=>
  string(11) "Los Angeles"
  [1]=>
  string(9) "St. Louis"
  [2]=>
  string(6) "Boston"
}
array(3) {
  [0]=>
  string(10) "California"
  [1]=>
  string(8) "Missouri"
  [2]=>
  string(13) "Massachusetts"
}

此解决方案适合您

    <?php
  $myarray = array("1" => "Los Angeles" ,
"2" => "California" ,
"3" => "St. Louis" ,
"4" => "Missouri" ,
"5" => "Boston" ,
"6" => "Massachusetts");
    var_dump($myarray);
?>

结果数组(6) { [1]=> 字符串(11) "Los Angeles" [2]=> 字符串(10) "California" [3]=> 字符串(9) "St. Louis" [4]=> 字符串(8) "Missouri" [5]=> 字符串(6) "Boston" [6]=> 字符串(13) "Massachusetts" }