我的数组如下:
$options = array (
'af' => 'Afrikaans',
'af_NA' => 'Afrikaans (Namibië)',
'af_ZA' => 'Afrikaans (Suid-Afrika)',
);
我想为国家/地区添加密钥,例如:
$options = array (
[0]=> array (
'id' => 'af'
'name' => 'Afrikaans',
),
[1]=> array (
'id' => 'af_NA'
'name' => 'Afrikaans (Namibie)',
),
)
答案 0 :(得分:1)
制作一个空数组,然后在正确映射新值后将新数组推到其上。
$new = array();
foreach ($options as $key => $value) {
array_push($new, array("id" => $key, "name" => $value));
}
$options = $new;
答案 1 :(得分:0)
您可以使用带lambda的地图:
$result = array_map(function ($id, $name) { return array('id' => $id,'name' => $name); }, array_keys($options), $options);
var_dump($result);
输出:
array (size=3)
0 =>
array (size=2)
'id' => string 'af' (length=2)
'name' => string 'Afrikaans' (length=9)
1 =>
array (size=2)
'id' => string 'af_NA' (length=5)
'name' => string 'Afrikaans (Namibië)' (length=20)
2 =>
array (size=2)
'id' => string 'af_ZA' (length=5)
'name' => string 'Afrikaans (Suid-Afrika)' (length=23)