假设你有一个 PHP 数组,来自 mysqli 查询:
现在我想创建一个用户类的实例。构造函数需要一个数组,但键应该是'id'、'name'和'email'。
最快的方法是如何编辑上面的数组,以便我得到像这样的新数组:
$array = (
'user_id' => 1
'user_name' => 'User',
'user_email' => 'mail@user.com'
);
现在我想创建一个用户类的实例。构造函数需要一个数组,但键应该是'id'、'name'和'email'。
最快的方法是如何编辑上面的数组,以便我得到像这样的新数组:
$newArray = (
'id' => 1
'name' => 'User',
'email' => 'mail@user.com'
);
$user = new User($newArray);
当然,我可以简单地遍历原始的$array
并使用preg_replace()
来实现:
$newArray = array();
foreach ($array as $key => $value) {
$newKey = preg_replace('/^user_/', '', $key);
$newArray[$newKey] = $value;
}
但肯定有更快的方法可以解决这个问题吧?目前我想不出好办法,所以来到了这里。
array_walk
等函数将为每个项调用您的回调一次。这可能比foreach
更糟糕。无论如何,对我来说,回答你的问题就是“测量它”。 - Jon