我有一个看起来像这样的数组:
Array
(
[20] => ADEP EGKK
[21] => ADES EGLL
[22] => AOARCID ABC
[23] => AOOPR ABC
[24] => ARCID ABC123
[25] => ARCTYP MD11
正如你所看到的那样,第一个数组键是20,因为前19个我使用preg_match取消设置:
if (isset($_POST['plan']))
$fplparts = explode("-", $fpl);
$pattern = "/FAC|TITLE|BEGIN|END|PT|PTID|ATSRT|ICAOCONTENT/i";
foreach($fplparts as $key => $value) {
if (preg_match($pattern, $value)){
unset($fplparts[$key]);
}
}
print_r($fplparts);
现在我希望我的阵列看起来像这样:
Array
(
[ADEP] => EGKK
[ADES] => EGLL
[AOARCID] => ABC
[AOOPR] => ABC
[ARCID] => ABC123
[ARCTYP] => MD11
所以基本上,我想移动每个值的第一个单词并使其成为关键。
最好的方法是什么?
先谢谢。
答案 0 :(得分:1)
你可以这样做:
$newArray = array();
foreach ($oldArray as $item)
{
list($key, $value) = explode(' ', $item, 2);
$newArray[$key] = $value;
}
但是有一些限制,例如你必须确保第一个字符串(你想要作为键)将是唯一的,否则你将重写你的数据。
2
中的第三个参数(explode()
)用于确保导致ADEP EGKK EGKK EGKK
:
[ADEP] => EGKK EGKK EGKK