За последние 24 часа нас посетили 59286 программистов и 1843 робота. Сейчас ищут 916 программистов ...

Как из двух простых массивов сделать один ассоц. массив????

Тема в разделе "PHP для новичков", создана пользователем Panter7777, 24 дек 2010.

  1. Panter7777

    Panter7777 Активный пользователь

    С нами с:
    10 окт 2010
    Сообщения:
    96
    Симпатии:
    0
    Адрес:
    Киев
    Всем привет, собственно сабж.
     
  2. 24/7

    24/7 Активный пользователь

    С нами с:
    4 дек 2009
    Сообщения:
    3
    Симпатии:
    0
    Адрес:
    Киев
    Что-то типа такого пробовали?

    function createArray($arr1, $arr2) {
    if (count($arr1) != count($arr2)) exit("Arrays should have the same size");
    $count = count($arr1);
    $arr3 = array();
    for ($i=0; $i<$count; $i++){
    $arr3[$arr1[$i]] = $arr2[$i];
    }
    return $arr3;
    }
     
  3. <?=RPG?>

    <?=RPG?> Активный пользователь

    С нами с:
    19 ноя 2010
    Сообщения:
    451
    Симпатии:
    0
    Товарищи велосипедисты, читайте прежде документацию прежде писать советы

    Я конечно понимаю полезно иногда головой подумать для общего развития, но практически лучше заюзать библиотечную функцию.

    http://ru2.php.net/manual/en/function.array-combine.php
     
  4. 24/7

    24/7 Активный пользователь

    С нами с:
    4 дек 2009
    Сообщения:
    3
    Симпатии:
    0
    Адрес:
    Киев
    И то правда. Спасибо )
     
  5. Panter7777

    Panter7777 Активный пользователь

    С нами с:
    10 окт 2010
    Сообщения:
    96
    Симпатии:
    0
    Адрес:
    Киев
    <?=RPG?>

    То что нужно, спасибо!
    но уменя почему-то какя-то борода, засовысает только последние значение в массив!?!?!

    Вот код:
    Код (Text):
    1. $street = $_POST['street'];
    2. function changeCharacter($data)
    3. {
    4.         for ($i=0; $i<count($data); $i++)
    5.         $char = explode("\n", $data);
    6.             foreach ($char AS $val) {
    7.             $char1 = preg_split("/-[0-9a-zA-zа-яА-Я]{1,}-[0-9]{1}$/", $val);
    8.             $char2 = preg_split("/^[a-zA-Z]{2,5}/", $val);
    9.            
    10.                                                                              }         
    11.                                           $arr2 = array_combine($char1,$char2);
    12.             print_r($arr2);
    13.            
    14. };
    15. changeCharacter ($street);
    Выводит вот: Array ( [mt] => [] => -16-7 )

    А я ввожу двазначения - sv-12-3 и mt-16-7 ???