PHP将混合序列和关联数组转换为关联数组

PHP将混合序列和关联数组转换为关联数组,php,arrays,sequential,associative,Php,Arrays,Sequential,Associative,我只想从$initial构建$goal数组。有什么想法吗?多谢各位 编辑:问题可能是如何区分关联零件和顺序零件 $intial=[ "one", "two"=>"myTwo", "three", "four"=>"myFour" ]; $goal=[ "one"=>null, "two"=>"myTwo", "three"=>null, "four"=>"myFour" ]; “顺序”部分将具有

我只想从$initial构建$goal数组。有什么想法吗?多谢各位

编辑:问题可能是如何区分关联零件和顺序零件

$intial=[
    "one",
    "two"=>"myTwo",
    "three",
    "four"=>"myFour"
];
$goal=[
    "one"=>null,
    "two"=>"myTwo",
    "three"=>null,
    "four"=>"myFour"
];

“顺序”部分将具有数字键,因此如果“关联”键始终为字符串,则可以使用该键区分:

$goal = [];
foreach ($initial as $key => $value) {
    if (is_numeric($key)) {
        $goal[$value] = null;
    } else {
        $goal[$key] = $value;
    }
}

它们都是独立的数组
foreach($key=>$val的目标){echo$key.='.$val.
';}
或只是
var\u dump($goal)你好。我只有$initial数组,需要从中构建$goal。您必须检查该值是否存在或设置如下内容:
$goal=[];foreach($key=>$val){if(isset($val){$goal[$key]=$val}else{$goal[$key]=$key;}}}
这不起作用,输出数组([0]=>one[two]=>myTwo[1]=>three[four]=>myFour)这不起作用,输出数组([0]=>one[two]=>myTwo[1]=>three[four]=>myFour)
$goal = []; 
 foreach($initial as $key => $val){ 
   if(isset($val){ 
     $goal[$key] = $val; 
   }else{ 
      $goal[$key] = $key; 
   } 
  }