结合foreach输出数据

时间:2017-09-09 12:26:26

标签: php arrays foreach

我正在开发一个项目,根据具体情况,我需要将一些输出数据合并到一个变量中。

  

* $ array包含不同的用户信息

$array[]= array(
    'ts3_uuid' => $value['client_unique_identifier'],
    'channel_name' => $value['client_unique_identifier'],
    'steam_id' => $steam_id,
    'ts3_clid' => $value['clid'],
    'channel_id' => $value['cid'],
    'steam_name' => htmlspecialchars($steam_name),
    'csgo_rank' => $csgo_rank,
    'steam_status' => $steam_official_status,
    'last_steam_connection' => $timestamp,
    'steam_vac_status' => $result_steam_ban,
    'csgo_played_time' => $total_tiempo_jugado,
    'csgo_hs_porcentage' => $hs_porcent,
    'csgo_kdr' => $kdr
    );
foreach ($array as $data) {
    $channel_description = $data['steam_name'];
}

这是我心中的结构......

if (the channel_id of different users are EQUAL){
combine their $data['steam_name'] into the $channel_description variable and 
then, for example, echo it.
}

我希望你能帮助我: - )

2 个答案:

答案 0 :(得分:2)

您可以处理数组中的所有数据:

  foreach($array as $user_index=>$user_array)
        {
        foreach($user_array as $array_index=>$array_data)
              {
              $channel_id_array[$user_index]=$array_data['channel_id'];
              if(in_array($array_data['channel_id'],$channel_id_array))
                     {
                     echo'this channel_id is not unique <br/>';
                     echo 'first array with equal chanel_id';
                     print_r($array[$user_index]);
                     echo 'second array with equal channel id';  
                     print_r($array_data);
                     }
              }
         }

答案 1 :(得分:1)

使用一个辅助数组和函数来查找相同的channel_id并存储其steam_name!在php数组中,调用相同的索引不会创建新的数组!因此,请尝试将channel_id设置为索引键。

$result = findSameChannelId($array);

foreach($result as $data) {
    echo $data["channel_description"]."<br>";
}

function findSameChannelId($array) {
    foreach ($array as $key => $value) {
        if(!isset($channel[$value["channel_id"]])) {
            $channel[$value["channel_id"]] = array("channel_description"=>"");  
        } 
        $channel[$value["channel_id"]]['channel_description'] .= $value["steam_name"];  
    }
    return $channel;
}