Я хотел бы построить массив $ goal только из $ initial. Есть идеи? Спасибо
Изменить: вопрос может быть, как отличить ассоциативные части от последовательных.
$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;
}
}
$goal = [];
foreach($initial as $key => $val){
if(isset($val){
$goal[$key] = $val;
}else{
$goal[$key] = $key;
}
}