我正在开发一个项目,根据具体情况,我需要将一些输出数据合并到一个变量中。
* $ 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.
}
我希望你能帮助我: - )
答案 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;
}