每个PHP混合数组

时间:2019-03-18 21:25:40

标签: php arrays

我无法获得所需的数组输出。

数组:

Array([0] =>Fotoğraf和视频:在线视频[1] =>Fotoğraf和视频:Dijital Dosyalar [2] =>ÇekimÇeşitleri:YüzükÇekimleri[3] =>ÇekimÇeşitleri:EvlilikÇekimleri)

输出:(Foreach)

Fotoğraf和视频在线视频

Fotoğraf和视频 Dijital Dosyalar

ÇekimÇeşitleriYüzükÇekimleri

ÇekimÇeşitleri EvlilikÇekimleri

我想要的输出

Fotoğraf和视频 在线视频,Dijital Dosyalar

ÇekimÇeşitleri EvlilikÇekimleri,尤祖克Çekimleri

我正在等待您的帮助。谢谢

2 个答案:

答案 0 :(得分:0)

只需遍历数组并使用explode:

foreach ($input as $value) {
    $parts = explode(":", $value);
    echo '<span style="font-weight: bold;">'.$parts[0].':</span> '.$parts[1];
}

答案 1 :(得分:0)

<?php

$data = [
 'test: apple',
 'test: banana',
 'test2: pear',
 'test2: grape',
];

$newData = [];

foreach ($data as $d) {
    // separate string into two pieces
    $parts = explode(':', $d);
    $leftPart = $parts[0];
    $rightPart = $parts[1];

    // add new data to new array
    $newData[$leftPart][] = $rightPart;
}

$resultData = [];

foreach ($newData as $word => $nd) {
    // take data from new array and combine it into string
    $resultData[$word] = implode(',', $nd);
}

print_r($resultData); // see what's in array

// Or if you want to display, like you described, do this:

foreach ($resultData as $key => $value) {
   echo '<b>'.$key.'</b> '.$value.'<br>';
}