我有一个PHP对象,需要在Foreach循环中更改其键名称:
stdClass Object
(
[first-name] => NAME
[last-name] => NAME
[phone-number] => NUMBER
...
)
我需要将Foreach中的破折号"-"替换为下划线"_",使其如下所示:
stdClass Object
(
[first_name] => NAME
[last_name] => NAME
[phone_number] => NUMBER
...
)
我发现了这样一个帖子:PHP - How to rename an object property?,它确实告诉我如何做到这一点,问题是当我在Foreach中使用unset()时,它会解开所有的关键点,而不仅仅是我想要的那些关键点.
以下是我的代码:
foreach ($customer as $key => $value) {
$key2 = str_replace('-', '_', $key);
$customer->$key2 = $customer->$key;
unset($customer->$key);
}
它返回一个空对象:
stdClass Object
(
)
如何在不影响新关键点的情况下取消设置原始关键点?