2011-12-30 86 views
0

我是一个php阵列的菜鸟,并且有问题。我下载了一个二十一点的PHP脚本,它存储了当前玩家的手,甲板和经销商手中的$_POST,这并不好。php阵列麻烦

所以我试图改变它,而不是将它们存储在数据库中。我收到错误,这是我正在玩的代码。绘制从甲板上随机卡原始代码是这样的:

shuffle($deck); 

    for ($i = 0; $i < 2; $i++) { 
     $hand[] = array_shift($deck); 
     $dealer[] = array_shift($deck); 
     } 

    $handstr = serialize($hand); 
    $deckstr= serialize($deck); 
    $dealerstr= serialize($dealer); 

这工作,但我想要做的是只画一个随机卡,如果那里有数据库中没有任何数据了。如果用户绘制,有人可以刷新页面以获得另一只手。我想要做这样的事情:

if ($rs5[hand] == "") { 

    shuffle($deck); 

    for ($i = 0; $i < 2; $i++) { 
    $hand[] = array_shift($deck); 
    $dealer[] = array_shift($deck); 
    } 

    $handstr = serialize($hand); 
    $deckstr= serialize($deck); 
    $dealerstr= serialize($dealer); 

} else { 

    $dealer = $rs5[dealer]; 
    $hand = $rs5[hand]; 
    $deck = $rs5[deck]; 


} 

即时得到这个错误,我不知道我有数组做的真的,任何人都可以点我在正确的方向?

+0

你得到什么错误? – 2011-12-30 19:55:52

+0

致命错误:无法将字符串偏移量作为数组使用 – user1022585 2011-12-30 20:04:35

+0

您可能想要查看此答案:http://stackoverflow.com/questions/5381870/getting-really-annoying-error-fatal-error-cannot-use-string -offset-AS-AN-ARRA – user1123450 2011-12-30 20:15:21

回答

0

我并不十分确定你想做什么,但对于初学者:

$dealer = $rs5[dealer]; 
$hand = $rs5[hand]; 
$deck = $rs5[deck]; 

也许应该是:

$dealer = $rs5[$dealer]; 
$hand = $rs5[$hand]; 
$deck = $rs5[$deck]; 

注意的指标变量的美元符号。

0

你可以这样做:

if (empty($hand)) 

或:

if (count($hand) == 0)