Николай С.
710 сообщений
#16 лет назад
Еще один вопрос возник: как заменить в массиве один ключь на другой?

Есть $arr. Необходимо получить $arr.
Михаил A.
54 сообщения
#16 лет назад
$arr = $arr;
Может вам следует перечитать манул?
Николай С.
710 сообщений
#16 лет назад
aligator, не то.


Есть изначальный массив $arr = array('а' => '1', 'b' => '2', 't' => '3', 'q' => '4', 'u' => '5');
Есть массив соответствия изначальных ключей и желаемых ключей $keys_replace = array('а' => 'ab', 'c' => 'cd', 'e' => 'ef');
Надо получить $arr2 = array('ab' => '1', 'b' => '2', 't' => '3', 'q' => '4', 'u' => '5');
Вадим Т.
3240 сообщений
#16 лет назад
<?php
$arr = array('а' => '1', 'b' => '2', 't' => '3', 'q' => '4', 'u' => '5');
$keys_replace = array('а' => 'ab', 'c' => 'cd', 'e' => 'ef');

$arr2 = array();
foreach ($arr as $key => $value) {
$arr2 : $key] = $value;
}

print_r($arr2);
?>
Вадим Т.
3240 сообщений
#16 лет назад
Вот еще вариант аналогичный.
Если массив $arr большой, а $keys_replace - маленький, то работать будет быстрее.
Только при этом не будет сохраняться порядок элементов в $arr (но для хеша это обычно и не нужно).

<?php
$arr = array('а' => '1', 'b' => '2', 't' => '3', 'q' => '4', 'u' => '5');
$keys_replace = array('а' => 'ab', 'c' => 'cd', 'e' => 'ef');

foreach ($keys_replace as $key => $value) {
if (isset($arr)) {
$arr = $arr;
unset($arr);
}
}

print_r($arr);
?>
Николай С.
710 сообщений
#16 лет назад
tvv, спасибо