制作php彩色脚本时遇到问题
我还在学习php,所以请对我放松点 我有一个小脚本,我一直在为一个项目工作,但似乎无法让它工作。每当我试图输出它时,我都会得到一个错误 错误输出为:(!)尖叫:忽略的错误抑制 (!)分析错误:语法错误,在第16行的C:\wamp\www\test.php中出现意外的“=”制作php彩色脚本时遇到问题,php,Php,我还在学习php,所以请对我放松点 我有一个小脚本,我一直在为一个项目工作,但似乎无法让它工作。每当我试图输出它时,我都会得到一个错误 错误输出为:(!)尖叫:忽略的错误抑制 (!)分析错误:语法错误,在第16行的C:\wamp\www\test.php中出现意外的“=” <?php function pickColour() { //array of colours $colours = array( 'red' => 'E04739',
<?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();
这是您遇到错误的地方:
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();
有几个问题。首先,您似乎想要一个随机数组元素,但您指示array\u rand()
返回六个元素:
$single = array_rand($colours, 6);
如果需要单个元素,请执行以下操作:
$single = array_rand($colours, 1);
甚至:
$single = array_rand($colours);
接下来,这里出现语法错误:
print_r = $single; . "\n"
由于print\r
是一项功能,因此通常使用如下方式:
print_r( $single );
print pickColour();
由于array\u rand()
返回数组键(而不是数组值),因此应使用该键从数组中检索值:
echo $hash .= $colours[$single] . "\n";
最后,您执行的函数如下所示:
print_r( $single );
print pickColour();
由于您已经通过print\r()
和echo
在函数中生成输出,因此不需要print
。你应使用:
pickColour();
你的脚本有一些问题
错误使用echo
和print\r
函数应该返回一个值
错误使用数组\u 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”
和echo$hash.=$single。“\n”
不是有效的PHP,所以我希望它们会抛出错误,这正是我尝试运行此代码时它所做的。我想你也试过运行它。@Mike'Pomax'Kamermansecho$hash.=$single。“\n”
绝对是有效的PHP。请停止编辑您的代码。您提出了您的问题,现在您已将其更改为现有答案无效。感谢george,反馈非常好。这是否会在返回时随机生成6个数组值中的任何一个。是的。它会选择一个随机值。1是第二个参数的默认值,如果不添加1.aww好的,谢谢我知道php.net在这方面没有太大帮助,谢谢:)