이 배열을 다룰 때, 배열이 참조 될 때마다 그 배열에 참조가 추가 될 때까지 주어진다. 모든 출력물은 예상대로 작동합니다.빈 차원의 다차원 배열 다루기
주의 사항의 스크린 샷 : http://imgur.com/75RGA
function create_round(&$arrTeam)
{
$numTeams = 4;
$used = array();
for ($i = 0; $i < $numTeams; $i++) {
if (!in_array($i, $used)) { //if i isnt already scheduled to play
for ($u = $numTeams-1; $u > $i; $u--) {
if (!in_array($u, $used) && !in_array($u, $arrTeam[$i]["games"])) { //if u isnt already scheduled to play and u hasnt been played by i before
$arrTeam[$i]["games"][sizeof($arrTeam[$i]["games"])] = $u;
$arrTeam[$u]["games"][sizeof($arrTeam[$u]["games"])] = $i;
$used[sizeof($used)] = $i;
$used[sizeof($used)] = $u;
echo($arrTeam[$i]["name"] . " VS " . $arrTeam[$u]["name"] . "<br>");
break;
}
}
}
}
var_dump($arrTeam);
}
function round_robin()
{
$numTeams = 4;
//Create array
$arrTeam = array(
$team = array(
"name" => "",
"games" => array()
)
);
//TEMP ASSIGNING NAMES
for ($i = 1; $i < $numTeams+1; $i++)
$arrTeam[$i-1]["name"] = "Team $i";
//Echo Round numbers
for ($i = 1; $i < $numTeams; $i++) {
echo("<br>Round $i<br>");
create_round($arrTeam);
}
}
round_robin();
이 고지가 바로 해제해야하거나 다루는 더 좋은 방법이 있나요?
나는 패딩을 시도했지만 코드가 두 배 길고 매우 혼란스러워졌습니다.
없습니다. '$ arrTeam [$ i] [ "games"] [] = $ u'와'$ used [] = $ i;' –
오 와우, 정말 멋지다! 감사합니다 – user1439737