2011-09-24 55 views
0

我有一个游戏会根据数字和套装显示10张随机卡,但我需要检查一个数组以查看卡是否已经显示。但是我的本地数组$card在通过该函数时未被保存。这里是我现在的所有代码,请尝试运行它,告诉我我做错了什么,如果你想要它们可用的图像。函数中的PHP本地数组?

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

这里是我的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

要访问变量的函数内使用后续的技术。

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

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

我试过这我觉得我需要插入新的值到数组或什么东西,我不知道当我使用上面的代码时,它回声“阵列”,而不是西装和卡号。 –

+0

现在我认为纽约回声需要是不同的功能,我需要'全球$卡;'foreach'之前的链接? –

2

不像大多数理智的语言中,在PHP词法范围的意义不大。所以,你的函数不能识别全局定义的变量。简单的解决方法是在你的函数中使用global $card;