有两个数组需要通过相同的键值连接,第一个表中的 [SteamID64] 和第二个表中的 [steamid]。在第一个数组中,[SteamID64] 可能与示例中的相同,我只是描述了这种情况。
第一个数组
$arr1 = [
'0' => [
"PlayerID" => "1",
"User" => "lexa",
"Time" => "300",
"SteamID64" => "76561198170801830",
"SteamID" => "STEAM_0:0:105268051"
],
'1' => [
"PlayerID" => "1",
"User" => "lexa",
"Time" => "250",
"SteamID64" => "76561198170801830",
"SteamID" => "STEAM_0:0:105268051"
],
'2'=> [
'PlayerID' => "5",
'User' => "Player",
"Time" => "400",
'SteamID64' => "76561199604582870",
'SteamI' => "STEAM_0:0:822158571"
],
'3' => [
"PlayerID" => "4",
"User" => "idfyau",
"Time" => "360",
"SteamID64" => "76561198161729178",
"SteamID" => "STEAM_0:0:100731725"
]
];
第二个数组
$arr2 = [
'76561198170801830'=> [
"steamid" => "76561198170801830",
"personaname" => "Black_Mens___",
"profileurl" => "https://steamcommunity.com/id/3523557555/",
"avatar" => "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/64/64d96db5c4a160205149bbfab2ccdbc7c3bad688.jpg"
],
'76561198161729178'=> [
"steamid"=> "76561198161729178",
"personaname"=> "ак4ОнаиД",
"profileurl"=> "https://steamcommunity.com/id/dfhfdj/",
"avatar"=> "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/bf/bfa372987ba46f33b75ea1078e5b0a0a001cb2d8.jpg"
]
];
[PlayerID] => 5 的玩家的期望结果* 没有找到对,所以他按原样进入结果。
$data = [
'0' => [
"PlayerID" => "1",
"User" => "lexa",
"Time" => "300",
"SteamID64" => "76561198170801830",
"SteamID" => "STEAM_0:0:105268051",
"personaname" => "Black_Mens___",
"profileurl" => "https://steamcommunity.com/id/3523557555/",
"avatar" => "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/64/64d96db5c4a160205149bbfab2ccdbc7c3bad688.jpg"
],
'1' => [
"PlayerID" => "1",
"User" => "lexa",
"Time" => "250",
"SteamID64" => "76561198170801830",
"SteamID" => "STEAM_0:0:105268051",
"personaname" => "Black_Mens___",
"profileurl" => "https://steamcommunity.com/id/3523557555/",
"avatar" => "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/64/64d96db5c4a160205149bbfab2ccdbc7c3bad688.jpg"
],
'2'=> [
'PlayerID' => "5",
'User' => "Player",
"Time" => "400",
'SteamID64' => "76561199604582870",
'SteamI' => "STEAM_0:0:822158571"
],
'3' => [
"PlayerID" => "4",
"User" => "idfyau",
"Time" => "360",
"SteamID64" => "76561198161729178",
"SteamID" => "STEAM_0:0:100731725",
"personaname" => "ак4ОнаиД",
"profileurl" => "https://steamcommunity.com/id/dfhfdj/",
"avatar" => "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/bf/bfa372987ba46f33b75ea1078e5b0a0a001cb2d8.jpg"
]
];
现在我这样做:
foreach ($arr1 as $key => $row1) {
foreach ($arr2 as $key => $row2) {
if($row1['SteamID64'] == $row2['steamid'] ){
$row1['SteamID64'] = $row2['steamid'];
$row1['personaname'] = $row2['personaname'];
$row1['profileurl'] = $row2['profileurl'];
$row1['avatar'] = $row2['avatar'];
$row1['avatarmedium'] = $row2['avatarmedium'];
$row1['avatarfull'] = $row2['avatarfull'];
$data[] = $row1;
break;
}
}
}
我得到这个对于具有 [PlayerID] => 5 的玩家没有找到对,他不在结果中
$data = [
'0' => [
"PlayerID" => "1",
"User" => "lexa",
"Time" => "300",
"SteamID64" => "76561198170801830",
"SteamID" => "STEAM_0:0:105268051"
"personaname" => "Black_Mens___"
"profileurl" => "https://steamcommunity.com/id/3523557555/"
"avatar" => "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/64/64d96db5c4a160205149bbfab2ccdbc7c3bad688.jpg"
],
'1' => [
"PlayerID" => "1",
"User" => "lexa",
"Time" => "250",
"SteamID64" => "76561198170801830",
"SteamID" => "STEAM_0:0:105268051"
"personaname" => "Black_Mens___"
"profileurl" => "https://steamcommunity.com/id/3523557555/"
"avatar" => "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/64/64d96db5c4a160205149bbfab2ccdbc7c3bad688.jpg"
],
'2' => [
"PlayerID" => "4",
"User" => "idfyau",
"Time" => "360",
"SteamID64" => "76561198161729178",
"SteamID" => "STEAM_0:0:100731725"
"personaname" => "ак4ОнаиД"
"profileurl" => "https://steamcommunity.com/id/dfhfdj/"
"avatar" => "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/bf/bfa372987ba46f33b75ea1078e5b0a0a001cb2d8.jpg"
]
];
我的代码的问题是,只有找到一对的人才能进入结果。我想得到所有有和没有对子的玩家,正如我在期望的结果中显示的*.