Я хочу объединить каждое значение из двух массивов в один массив и иметь такой код,

        $k = 'a,b';
        $db = '01,02,03,04,05';

        $dbe = explode(",", $db);
        $lenght = count($dbe);

        $kdata = explode(",", $k);
        $dbdata = explode(",", $db);

        if(sizeof($kdata) > sizeof($dbdata)){
                 $length = count($kdata);
            }else{
                  $length = count($dbdata);
        }       

    for($i=0; $i<$length; $i++)
    {

        foreach( $kdata as $p => $kop)
           {
             echo $kop.$dbdata[$p]. ",";
            }
    }

И получите результат;

a01,b02,a01,b02,a01,b02,a01,b02,a01,b02,

Но результат, которого я не ожидал, результат, который я хочу, будет таким:

a01, a02, a03, a04, a05, b01, b02, b03, b04, b05,

Как мне разрешить этот код, чтобы получить желаемый результат.

1
script888 23 Окт 2018 в 22:22

2 ответа

Лучший ответ

Мы делаем массив, потом хотим что-то с ним и делаем.

<?php
        $k = 'a,b';
        $db = '01,02,03,04,05';


        $kdata = explode(",", $k);
        $dbdata = explode(",", $db);


        foreach($kdata as $val){
            foreach($dbdata as $value){
                $items[] = $val.$value;
            }
        }

        $result = implode(", ", $items);
        echo $result;

?>
1
Sergey B. 23 Окт 2018 в 19:34

После вашего explode() для построения массивов вы можете сделать вложенный foreach(), чтобы вывести результат после ...

$k = 'a,b';
$db = '01,02,03,04,05';

$kdata = explode(",", $k);
$dbdata = explode(",", $db);

foreach ( $kdata as $prefix) {
    foreach( $dbdata as $kop)
    {
        echo $prefix.$kop. ", ";
    }
}
1
Nigel Ren 23 Окт 2018 в 19:32
52956462