Массивы в php
710 сообщений
#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, спасибо