我有一个看起来像这样的查询字符串。 dinnerPlate=white&lunchPlate=purple&cup=black
我还有一个数组,可以保存所有可以允许的可用颜色。
$availableColors = array("white","black","red","blue","green","pink");
我需要做的是用查询字符串中的正确颜色填充img
的src
。例如。。
<img src="<?php echo $color['dinnerPlate']; ?>.png" class="dinnerPlate" />
<img src="<?php echo $color['lunchPlate']; ?>.png" class="lunchPlate" />
<img src="<?php echo $color['cup']; ?>.png" class="cup" />
我需要帮助的是创建一个 php
函数,该函数可以根据 availableColors
数组检查每个查询字符串值,以确保其颜色可用。我不想让某人在查询字符串中手动键入"黄色",因为那样我会得到一个损坏的图像。因此,如果有人在查询字符串中键入"黄色",该函数会将黄色更改为类似 nocolor
的内容。该函数还需要提供一种输出特定项目的颜色值的方法,例如 echo $color['lunchPlate']
。
感谢您的任何指导!!
首先你需要按&
分解查询字符串,然后按=
分解。像这样的事情应该可以解决问题:
$str = 'dinnerPlate=white&lunchPlate=purple&cup=black';
$availableColors = array('white','black','red','blue','green','pink');
$defaultColor = 'nocolor';
foreach (explode('&', $str) as $val)
{
list($item, $color) = explode('=', $val);
$color = in_array($color, $availableColors) ? $color : $defaultColor;
$data[$item] = $color;
}
然后,您只需从$data
数组中获取项目即可。