Замена ключа в массиве

Тема в разделе "PHP", создана пользователем rasandrey, 4 май 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. rasandrey

    rasandrey

    Регистр.:
    2 апр 2009
    Сообщения:
    214
    Симпатии:
    6
    Есть массив вида
    PHP:
    array(
    '1' => array(
    => 'Симферополь',
    => 'Алушта',
    => 'Алупка'
    ),
    '2' => array(
    => 'Днепропетровск';
    ),
    );
    Нужно ключи 1 и 2 заменить на строку, чтобы получилось так
    PHP:
    array(
    'АР Крым' => array(
    => 'Симферополь',
    => 'Алушта',
    => 'Алупка'
    ),
    'Днепропетровская' => array(
    => 'Днепропетровск';
    ),
    );
    Как можно сделать?
     
  2. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    PHP:
    $a = array( 
    '1' => array( 
    => 'Симферополь'
    => 'Алушта'
    => 'Алупка' 
    ), 
    '2' => array( 
    => 'Днепропетровск'
    ), 
    );
    $b = array();
    $b['АР Крым'] = $a['1'];
    $b['Днепропетровская'] = $a['2'];  
    Если массив $а больше не нужен, то его можно выгрузить через unset($a);
     
    rasandrey нравится это.
  3. rasandrey

    rasandrey

    Регистр.:
    2 апр 2009
    Сообщения:
    214
    Симпатии:
    6
    спасибо, возник вопрос. А если у меня есть еще один одномерный масив вида
    PHP:
    $b = array('АР Крым','Днепропетровская')
    ну и соответственно с помощью этого поменять индексы у первого перебором?
     
  4. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    PHP:
    $a = array(
    '1' => array(
    => 'Симферополь',
    => 'Алушта',
    => 'Алупка'
    ),
    '2' => array(
    => 'Днепропетровск'
    ),
    );  

    $b = array('АР Крым','Днепропетровская');

    foreach (
    $a as $k=>$v)
    {
        
    $a[array_shift($b)] = $a[$k];
        unset(
    $a[$k]);
    }
     
    rasandrey нравится это.
Статус темы:
Закрыта.