2011-09-24 6 views
0

번호와 슈트를 기준으로 10 개의 무작위 카드를 표시하는 게임이 있지만 카드가 이미 표시되어 있는지 확인하려면 배열을 확인해야합니다. 그러나 로컬 배열 $card은 함수를 통과 할 때 저장되지 않습니다. 여기에 내 모든 코드가 있습니다. 실행 해보고 사용 가능한 이미지를 원한다면 내가하고있는 일을 말해주십시오.PHP 로컬 배열 함수가 있습니까?

<?php 
            //suit 1=Clubs | 2=Hearts | 3=Spades | 4=Diamonds// 
            //Color 1=1or11 | 2-10=# | 11-12=10// 
$number; 
$suit; 
$card = array(); 

function newcard($number,$suit,$card){ 

$arrsuit = array (clubs, hearts, spades, diamonds); 
$arrnumber = array (a, 2, 3, 4, 5, 6, 7, 8, 9, 10, j, q, k); 

$number = $arrnumber[rand(0,12)];    //Creates card value 
$suit = $arrsuit[rand(0,3)];  //Create card suit 
$card .= array ($suit ." ". $number, hello);  //difines card name 
return "<img src='cards/" . $suit . "-" . $number . "-150.png'/>"; 
} 
for($i = 0; $i < 10; $i++){ 
echo newcard($number,$suit,$card); 
} 
echo $number; 
foreach($card as $value){ 
    echo $value; 
} 


?> 

답변

1

가 추적 기술을 사용하는 함수의 내부 변수에 액세스하려면 :

http://storealutes.com/blackjack/cards.zip

여기 내 PHP입니다.

$GLOBALS['card'][] = array ($suit ." ". $number, hello); 

또는

global $card; 
$card[] = array ($suit ." ". $number, hello); 
+0

나는 배열이나 무언가에 새로운 값을 삽입 할 필요가 있다고 생각했다. 위의 코드를 사용할 때, 수트와 카드 번호 대신에 "배열"을 반향한다. –

+0

지금 메신저 ny 메아리 생각이 다를 필요가 함수에서 하나의 '글로벌 $ 카드;''foreach' 전에 링크가 필요합니까? –

2

가장 제정신 언어와는 달리, PHP의 어휘 범위의 거의 의미가있다. 따라서 함수는 전역 적으로 정의 된 변수를 인식하지 못합니다. 이 문제를 쉽게 해결하려면 함수 안에 global $card;을 사용하십시오.