我有一个看起来像这样的查询字符串.. dinnerPlate=white&lunchPlate=purple&cup=black
我还有一个数组,其中包含可以允许的所有可用颜色。
$availableColors = array("white","black","red","blue","green","pink");
我需要做的是使用查询字符串中的正确颜色填充img
的{{1}}。例如..
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
。
感谢任何指导!!
答案 0 :(得分:0)
首先,您需要按&
分解查询字符串,然后按=
分解。像这样的东西应该做的伎俩:
$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
数组中获取商品。