PHP:数组未定义


PHP: Array undefined?

代码:

<html>
    <head>
        <title></title>
    </head>
    <body>
      <p>
        <?php
          
            $SupportNinga = array("Email1@gmail.com", "Email2@yahoo.com");
            echo $SupportNinga;
            $num = rand(1, count($SupportNinja));
            $SupportNinja = $SupportNinja[$num];
            echo $SupportNinja;
        ?>
      </p>
    </body>
</html>

这个代码似乎没有定义变量,因为它给出了错误:

阵列

未定义变量:SupportNinja(第11行)未定义的变量:SupportNinja(第12行)

未定义变量SupportNinja,因为您使用的是数组名称$SupportNinga而不是$SupportNinja

$SupportNinga = array("Email1@gmail.com","Email2@yahoo.com");

将变量名$SupportNinga更改为SupportNinja

$SupportNinja = array("Email1@gmail.com","Email2@yahoo.com");

注意:-echo$SupportNinga不打印数组键值对。它打印的是"数组",所以使用print_r($SupportNinga);而不是echo $SupportNinga;

$SupportNinga更改为$SupportNinja

此外,您不能回显数组。使用print_r()在第10行显示阵列。

$num= rand(1,count($SupportNinja));

此行为您获取一个介于1和2之间的随机整数(数组中的项计数)。

在php中,数组索引从0开始。因此你应该改为写:

$num= rand(1,count($SupportNinja))-1;

您需要将数组的名称用作$SupportNinja,而不是$SupportNinga

也可以使用print_r()var_dump打印任何阵列内部的内容,如:

print_r($SupportNinja); '' printing content inside array $SupportNinja

并且CCD_ 10用于打印不是阵列的字符串。