麻烦制作一个php颜色脚本


Trouble making a php colour script

我还在学习php,所以请对我宽容一点。

我有这个小脚本,我一直在为一个项目工作,但似乎不能让它工作。我只是得到一个错误,每当我试图输出它。

错误输出为:(!)尖叫:错误抑制被忽略(!)解析错误:C:'wamp'www'test.php第16行语法错误,意外'='

     <?php
function pickColour() { 
    //array of colours
    $colours = array(
        'red' => 'E04739',
        'blue' => '0092D6',
        'green' => '2CCA71',
        'orange' => 'EF6521',
        'pink' => 'E73B5B',
        'purple' => '2B5B9C'
        );
    $hash = '#';
    $single = array_rand($colours, 6);
    print_r($single); . "'n"
    echo "$hash .= $single";
    }
    print pickColour();

?>

有几个问题。首先,您似乎想要一个随机数组元素,但是您指示array_rand()返回六个元素:

$single = array_rand($colours, 6);

如果您想要单个元素,执行:

$single = array_rand($colours, 1);

甚至:

$single = array_rand($colours);

接下来,这里有一个语法错误:

print_r = $single; . "'n"

由于print_r是一个函数,它通常这样使用:

print_r( $single );

由于array_rand()返回数组键(而不是数组值),您应该使用键从数组中检索值:

echo $hash .= $colours[$single] . "'n";

最后,像这样执行函数:

print pickColour();

由于您已经通过print_r()echo在函数中产生输出,因此不需要print。你应该使用:

pickColour();

你的脚本有一些问题。

  1. echoprint_r使用错误
  2. 函数应该返回一个值
  3. array_rand使用错误

试试这个:

function pickColour() {
    //array of colours
    $colours = array(
        'red' => 'E04739',
        'blue' => '0092D6',
        'green' => '2CCA71',
        'orange' => 'EF6521',
        'pink' => 'E73B5B',
        'purple' => '2B5B9C'
    );
    return '#'.$colours[array_rand($colours)];
}
print pickColour();

这就是出现错误的地方:

print_r = $single . "'n";

改为

print_r($single . "'n");

我认为你需要的是这个:

function pickColour() { 
//array of colours
$colours = array(
    'red' => 'E04739',
    'blue' => '0092D6',
    'green' => '2CCA71',
    'orange' => 'EF6521',
    'pink' => 'E73B5B',
    'purple' => '2B5B9C'
    );
$random_key = array_rand($colours);
return "#" . $colours[$random_key];
}
print pickColour();