我还在学习php,所以请放轻松。
我有一个小脚本,我一直在为一个项目工作,但似乎无法让它工作。每当我尝试输出它时,我都会收到错误。
错误输出是:(!)SCREAM:忽略错误抑制 (!)解析错误:语法错误,第16行的C:\ wamp \ www \ test.php中的意外'='
<?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();
&GT;
答案 0 :(得分:2)
有几个问题。首先,您似乎想要一个随机数组元素,但您指示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 :(得分:0)
您的脚本存在一些问题。
echo
和print_r
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();
答案 2 :(得分:-1)
这是您遇到错误的地方:
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();