PHP str_replace Пара ключей Array

Вопрос:

Это может быть вопрос новичков, но я не понимаю.

У меня есть массив:

$form = Array
(
[Resource_ID] => 5251
)

и я хочу, чтобы

 $form = Array
(
[Resource ID] => 5251
)

Подчеркивание должно быть заменено пробелом.

Я пытался

foreach($form as $key => $value)
{
$form [$key] = str_replace("_"," ",$form [$key]);
}

Но это не работает! Может ли кто-нибудь сказать мне, где я ошибаюсь?

Ответ №1

Вы должны использовать такой код

foreach($form as $key => $value)
{
$abc[str_replace("_"," ",$key)] = $value;
// unset($abc[$key]); <- this could cause problem
}

или даже

foreach($form as $key => $value)
{
$pos = strpos($key,'_');
if ($pos !== false) {
$abc[str_replace("_"," ",$key)] = $value;
unset($abc[$key]);
}
}

Но в обоих случаях вы должны подумать, что делать, если у вас есть ключи: key 1 и key_1. Кажется, что вы можете переопределить значение или даже удалить его (в зависимости от того, будете ли вы использовать отмененный или нет).

Оцените статью
TechArks.Ru
Добавить комментарий