$AccountIDs) { $find = array("Channel" => $channel, "AccountID" => array('$in' => $AccountIDs)); if (!\DBOper\Find("GameRoles", $find, $findDataList) || !isset($findDataList)) { continue; } foreach ($findDataList as $findData) { foreach ($findData as $field => $value) { $serverID = \CommFunc\GetServerIDBySid($field); if ($serverID <= 0) { continue; } $accID = $findData["AccountID"] . "@" . $findData["Channel"] . "@" . $field; if (!in_array($accID, $accIDArray)) { continue; } $roleInfo = $value; if ($roleInfo["PlayerName"]) { $roleInfo["CrossPlayerName"] = "[" . $field . "]" . $roleInfo["PlayerName"]; } $returnArr[$accID] = $roleInfo; } } } \Logging\LogInfo("returnArr:" . print_r($returnArr, true)); echo json_encode($returnArr);