具有关联数组的函数,以使用条件 PHP 进行检查


Function with an associative array to check with a conditional PHP

我正在制作一个小游戏,只有当花色和号码与随机选择的数字和套件匹配时,才会显示一张牌。 代码如下:

<?php

$suite['heart'] = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13);
$suite['spade'] = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13);
$suite['diamond'] = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13);
$suite['club'] = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13);
    $suit1 = array_rand($suite);
    $suit2 = array_rand($suite); 
    $card1 = array_rand($suite[$suit1]);
    $card2 = array_rand($suite[$suit2]);
    $card_1 = $suite[$suit1][$card1];
    $card_2 = $suite[$suit2][$card2];
    function jqk($n){
            if($n == 11 && $suit1 == 'club'){
                  return "<img src='img/clubs_J.png'>";
                } else{
                  return "J";
                }

            else if ($n==12){
                return 'Q';
            }
            else if ($n==13){
                return 'K';
            } else {
            return $n;
            }
        }
    if($card_1 <= $card_2){
            $lowcard = $card_1;
            print "The Low Card is ".jqk($lowcard)."<br />";
        } elseif ($card_1 >= $card_2){
            $highcard = $card_1;
            print "The High Card ".jqk($highcard)."<br />";
        }
        if($card_1 <= $card_2){
            $highcard = $card_2;
            print "The High Card is ".jqk($highcard)."<br />";
        } elseif ($card_1 >= $card_2){
            $lowcard = $card_2;
            print "The Low Card ".jqk($lowcard)."<br />";
        }
?>

我的问题是,输出绕过了对 $suit 1 的检查,并且所有与 11 匹配的数字都显示图像。 提前谢谢你

您的jqk()函数有问题。我想知道你怎么能运行这个功能。这里有语法错误

else if ($n==12){ //else pops in without if

试试这个:

function jqk($n){
      global $suit1;            
      if( $n == 11 ){
        if( $suit1 == 'club' ){
          return "<img src='img/clubs_J.png'>";
        } else{                
          return "J";
        }
      } else if ( $n == 12 ){
        return 'Q';
      } else if ( $n == 13 ){
        return 'K';
      } else {
        return $n;
     }
}