【发布时间】:2014-05-22 06:32:55
【问题描述】:
所以,有一个像下面这样的数组:
$input = [
'first_name' => 'Alex',
'last_name' => 'UFO',
'email' => 'test@test.com',
'phone_number' => '124124',
// .....
'referral_first_name' => 'Jason',
'referral_last_name' => 'McNugget',
'referral_email' => 'jingleball@nuggets.com',
'referral_phone_number' => '1212415',
];
处理完第一部分,直到referral...,有没有更好的办法把referral_first_name替换成first_name等等,那么下面呢?也许是一种更加动态和自动的方式。
$input['first_name'] = $input['referral_first_name'];
unset($input['referral_first_name']);
$input['last_name'] = $input['referral_last_name'];
unset($input['referral_last_name']);
$input['email'] = $input['referral_email'];
unset($input['referral_email']);
$input['phone_number'] = $input['referral_phone_number'];
unset($input['referral_phone_number']);
伙计们,我忘了提,但我已经用foreach 完成了,但问题是当数组变得相当大时(通常会这样做,不是一个人使用该函数,而是很多人) ,这意味着额外的不必要的处理时间,因为它必须遍历整个数组,然后才能到达 referral_.. 部分。
【问题讨论】:
-
没有别的办法,只能在创建数组的时候这样做。
-
删除
referral_后,您的密钥被复制和覆盖。对此要小心。你可以看到我的答案和工作演示