2012-02-21 5 views
0

거대한 숫자 배열에 값을 저장하는 어려운 작업을 수행했습니다. 숫자 배열이 1929 개 값을 포함 때까지숫자 배열을 더 쉽게 편집 할 수 있습니까?

//April 5 
$home_team[1] = "Giants"; 
$home_team[2] = "Raiders"; 

$away_team[1] = "Saints"; 
$away_team[2] = "Titans"; 

//April 6 
$home_team[3] = "Warriors"; 

$away_team[3] = "Bears"; 

모든 방법 :

배열은 다음과 같이 보인다. 그러나, 나는 엉망이되어 코드 중간에 숫자 배열을 중복했다. 그것은 다음과 같은 :

오히려 돌아가서 수동으로 현재, 방법이 하나에 1을 더한 숫자로 앞서 년 8 월 (12)로부터 숫자 배열의 값을 변경하고보다
//August 11 
$home_team[1033] = "Angels"; 

$away_team[1033] = "Bears"; 

//August 12 
$home_team[1033] = "Titans"; 

$away_team[1033] = "Bulls"; 

그 나는 PHP와 MySQL로 이것을 할 수 있을까?

+4

무엇을하고 있더라도, 나는 그것을 이해하지 못하고 있습니다. 당신은 잘못하고 있습니다. 즉각적인 문제를 해결하려면 $ home_team [] = 'value'; 다음 사용 가능한 슬롯에 값을 추가하므로 수동으로 인덱스를 제공 할 필요가 없습니다. 따라서 홈 팀과 어웨이 팀을 항상 같이 배치한다면 팀은 동기화 상태를 유지해야합니다. –

+0

그래서 코드를 오타로 수정하고 싶습니까? –

+0

값을 하드 코딩 한 경우 코드 수정을 제외하고는 아무 것도 할 수 없습니다. 어떻게하면 MySQL을 도울 수 있다고 생각하는지 이해할 수 없습니다. – meagar

답변

3

숫자를 전혀 지정할 필요가 없습니다. 그냥하면 :

$home_team[] = "Giants"; 
$home_team[] = "Raiders"; 

$away_team[] = "Saints"; 
$away_team[] = "Titans"; 

PHP는 자동으로 해당 요소에 다음 색인을 할당합니다. 당신이 원하는 경우 하나는 기반으로, 당신은 할 수 :

foreach ($home_team as $team) { 
    echo '$home_team[$i++] = "' . $team . "\";\n"; 
} 
: 당신이 당신의 현재 코드 코드에 "해결"하고자하는 경우

$i = 1; 
$j = 1; 

$home_team[$i++] = "Giants"; 
$home_team[$i++] = "Raiders"; 

$away_team[$j++] = "Saints"; 
$away_team[$j++] = "Titans"; 

, 당신은 당신의 현재의 배열을 반복 할 수 있습니다

이 출력됩니다 코드 : 당신이 다음 복사 누락 된 팀 (각도/베어스)에 편집기에 붙여 채울 수

$home_team[$i++] = "Giants"; 
$home_team[$i++] = "Raiders"; 

.

더 나은 배열 구조가 될 수있다 :

$games = array(); 

$games[] = array('home'=>'Giants', 'away'=>'Saints'); 
$games[] = array('home'=>'Raiders', 'away'=>'Titans'); 

두 개의 분리 된 배열과 일치하는 인덱스에 대해 걱정하지 않아도 그런 식으로. 물론, 가장 좋은 할 일은 teams, games이라는 테이블이있는 데이터베이스에이 모든 것을 던져 넣는 것입니다.

3

만큼 배열의 키는 아무 의미가 그나마 당신이 완전히 제거 할 수 있습니다 그것은 automaticlly 찾을 당신을위한 인덱스를 생성하므로

또한 $의 HOME_TEAM 및 $의 항목 같은 수있을 필요가
$home_team[] = "Giants"; 
$home_team[] = "Raiders"; 

$away_team[] = "Saints"; 
$away_team[] = "Titans"; 

away_team 그들이 일치하는지 확인하십시오! 많은를 쉽게 관리 할 수 ​​것에


는 지금까지 그것을 해결하기 위해 SQL을 사용하는 등, 당신은 어떻게 든 그 시점에서 데이터베이스에 모든 팀을 입력해야합니다. 아마 당신이 많은 데이터 입력을 신경 쓰지 않는 것처럼 들릴만한 가치가있을 것입니다. 또는 찾기 및 바꾸기 또는 뭔가를 배치 SQL 스크립트를 만들 ...


제안은 배열을 더 잘 레이아웃하는 것입니다. 당신은 이것을 할 수 있습니다 :

$games[] = array('home' => 'Giants', 'away' => 'Saints', 'date' => '2012-02-21') 

그리고 그것을 훨씬 쉽게 배열을 조작 할 수 있습니다.

+0

네, 그게 바로 제가하려는 일입니다. 배열의 인덱스를 바탕으로 원정 팀과 원정 팀을 조화 시키십시오. DB에 모두 입력했습니다. 그러나이 오류를 해결하는 방법에 대해서는 잘 모릅니다. – Lance

+0

모두 데이터베이스에 있습니까? 큰! 오류가 무엇입니까? – 472084

3

나는 당신이 달성하고자하는 것을 정확히 모르겠다. 그러나 나는 추측을 가지고 당신이 match-ups (홈 대 멀리)을 만들어 배열에 저장하려고한다고 말한다. ? 그리고 두 개의 분리 된 배열을 만들고 같은 인덱스로 배열함으로써이 작업을 수행합니까? 그렇다면이 방법이 더 나은 해결책이 될 것입니다.

<?php 
$games = array(

    array('home' => 'Giants', 'away' => 'Saints', 'date' => '2012-02-21'), 
    array('home' => 'Raiders', 'away' => 'Titans', 'date' => '2012-02-27') 

); 

foreach($games as $key => $game){ 
    echo $game['home'] . " vs ". $game['away']. " on " . $game['date'] . " <br /> "; 
} 
?> 
관련 문제