Измените все ключи в массиве со Snake_case на PascalCase.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Измените все ключи в массиве со Snake_case на PascalCase.

Сообщение Anonymous »

Я хочу заменить все индексные ключи в массиве, но мне нужно сделать это только с помощью такой функции, как array_map() (а не с помощью foreach), и поэтому для меня это немного сложно. >
Фактический массив:
$array = [
'mc_gross' => 10.17,
'protection_eligibility' => 'Eligible',
'address_status' => 'unconfirmed',
'payer_id' => 'STTAC7UV2CVJ4'
];

Ожидаемый массив:
$array = [
'McGross' => 10.17,
'ProtectionEligibility' => 'Eligible',
'AddressStatus' => 'unconfirmed',
'PayerId' => 'STTAC7UV2CVJ4'
];

У меня уже есть функция, которая переводит первую букву в верхний регистр и удаляет все «_»:
str_replace(
"_",
"",
implode(
'_',
array_map(
'ucfirst',
explode(
'_',
ucwords(strtolower($key))
)
)
)
);

Я пробовал использовать array_walk(), но эта функция не может заменить ключ индекса, а только значение:
array_walk($array, function ($value, &$key) {
$key = str_replace("_", "", implode('_', array_map('ucfirst', explode('_', ucwords(strtolower($key))))));
});


Подробнее здесь: https://stackoverflow.com/questions/270 ... pascalcase
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»