私が構築しているサイトは、特定のアイテムの色を選択できるコンフィギュレーターです。カラー構成を共有する機能があります。?plate=red&cup=blue&napkin=white
私のコードがクエリ文字列を読み取って値を変更するように、クエリ文字列を含む URL を生成します<img>
src
。例えば...
<?php
//This stuff is just grabbing the query string values...
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$querystring = parse_url($url);
parse_str($querystring['query'], $color);
$availableColors = array("red","blue","white");
?>
これは、PHP を使用してクエリ文字列の色の値を入力している HTML です。このコードは、色が使用可能な色の配列に含まれていることも確認しています。
<div data-color="<?php if( in_array($color['plate'],$availableColors) ) {echo $color['plate'];} ?>">
<img src="img/tablesetting/<?php if( in_array($color['dinnerPlate'],$availableColors) ) {echo $color['plate']."_plate.png";} else {echo "dummy.gif";} ?>">
</div>
<div data-color="<?php if( in_array($color['napkin'],$availableColors) ) {echo $color['napkin'];} ?>">
<img src="img/tablesetting/<?php if( in_array($color['napkin'],$availableColors) ) {echo $color['napkin']."_napkin.png";} else {echo "dummy.gif";} ?>">
</div>
<div data-color="<?php if( in_array($color['cup'],$availableColors) ) {echo $color['cup'];} ?>">
<img src="img/tablesetting/<?php if( in_array($color['cup'],$availableColors) ) {echo $color['cup']."_cup.png";} else {echo "dummy.gif";} ?>">
</div>
私がやりたいのは、色の値が自分の配列にあるかどうかを確認するたびに条件ステートメントを持たないようにすることですavailableColors
。これを行うためのより簡潔でエレガントな方法が、私が探しているものだと思います。