0

我有一个看起来像这样的查询字符串..dinnerPlate=white&lunchPlate=purple&cup=black

我还有一个数组,其中包含所有可以允许的可用颜色。

$availableColors = array("white","black","red","blue","green","pink");

我需要做的是用查询字符串中的正确颜色填充img's 。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以确保其颜色可用。我不希望有人在查询字符串中手动键入“黄色”,因为那样我会得到一个损坏的图像。因此,如果有人在查询字符串中键入“yellow”,该函数会将黄色变为类似nocolor. 该函数还需要提供一种输出特定项目颜色值的方法,例如echo $color['lunchPlate'].

感谢您的任何指导!

4

1 回答 1

0

First you need to break up the query string by &, then by =. Something like this ought to do the trick:

$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;
}

Then you simply get your items from the $data array.

于 2013-09-26T16:51:50.240 回答