За последние 24 часа нас посетили 20372 программиста и 1008 роботов. Сейчас ищут 380 программистов ...

Как провести слияние значений двух массивов?

Тема в разделе "PHP для новичков", создана пользователем bakha, 3 окт 2017.

Метки:
  1. bakha

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

    С нами с:
    3 окт 2017
    Сообщения:
    1
    Симпатии:
    0
    Привет форум!

    Прошу помощи решить данную проблему.

    Есть две строки, пример:

    1) Строка с путями к картинкам (разделенные запятыми):
    Код (Text):
    1. images/img1.jpg,images/img2.jpg,images/img3.jpg
    2) Строка с названиями картинок (разделенные запятыми):
    Код (Text):
    1. img-name1,img-name2,img-name3
    Как провести слияние, чтобы получить следующее:
    Код (Text):
    1. images/img1.jpg||img-name1,images/img2.jpg||img-name2,images/img3.jpg||img-name3
    Спасибо заранее за внимание и помощь!
     
  2. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.199
    Симпатии:
    184
    PHP:
    1. $keys = ['images/img1.jpg', 'images/img2.jpg', 'images/img3.jpg'];
    2. $elems = ['img-name1', 'img-name2', 'img-name3'];
    3. $arr = array_combine($keys, $elems);
    4.  
    5. $newStr = '';
    6.  
    7. foreach($arr as $key => $val) {
    8.     $newStr = $newStr . $key.'||'.$val.',';
    9. }
    10.  
    11. $newStr2 = mb_substr($newStr, 0, -1);
    12.  
    13. echo $newStr2;
     
    #2 Dimon2x, 3 окт 2017
    Последнее редактирование: 3 окт 2017
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.748
    Симпатии:
    1.321
    Адрес:
    Лень
    PHP:
    1. <?php
    2.  
    3. error_reporting ( E_ALL );
    4.  
    5. $a = 'images/img1.jpg,images/img2.jpg,images/img3.jpg';
    6. $b = 'img-name1,img-name2,img-name3';
    7.  
    8. echo implode ( ',', array_map ( function ( $path, $name )
    9. {
    10.     return "$path||$name";
    11. },
    12. explode ( ',', $a ), explode ( ',', $b ) ) );
     
    gruth нравится это.