通过查询字符串动态PHP内容

通过查询字符串动态PHP内容,php,arrays,string,dynamic,Php,Arrays,String,Dynamic,我想使用一对查询字符串来生成特定的页面内容 查询字符串示例: example.co.uk/index.php?brand=apple&video=red 我已经设法使用一些简单的PHP用查询品牌替换了div id,并提供了以下帮助: <?php $recognised_brands = array( "apple", "orange", // etc ); $default_brand = $recognised_brands[0]; // use first f

我想使用一对查询字符串来生成特定的页面内容

查询字符串示例: example.co.uk/index.php?brand=apple&video=red

我已经设法使用一些简单的PHP用查询品牌替换了div id,并提供了以下帮助:

<?php 
$recognised_brands = array( 
  "apple", 
  "orange", 
  // etc 
); 

$default_brand = $recognised_brands[0]; // use first from list arbitrarily. 

$brand_to_use = isset($_GET['brand']) && in_array($_GET['brand'], $recognised_brands) 
  ? $_GET['brand'] 
  : $default_brand; 

echo '<div id="' . $brand_to_use . '"></div>';  
?>

但是,我不确定如何对第二个名为video的查询执行类似操作

例如,如果他们查询的是?品牌=苹果&视频=红色

然后我想将页面代码中的video变量替换为正确的red数字,但我不知道如何根据视频查询添加这些变量的列表,比如:red=>1,然后echo的1添加到正确的区域

此外,根据所选视频,我希望部分标题文本和下面的一段代码发生更改,但也不确定在哪里最好指定:

试图澄清:

我有我的品牌查询排序
我需要让我的视频查询填充多个区域标题、视频id和内容分区,但不确定如何填充

如果我正确理解了您的问题,这将满足您的需求:

$videoToNum = array("red" => 1, 
                    "blue" => 2, 
                    "yellow" => 3);

$videoValue = ((isset($_GET['video']) && isset($videoToNum[$_GET['video']])) ? $videoToNum[$_GET['video']] : null);

if($videoValue) {
    echo '<div id="' . $videoValue . '"></div>';  
}

您好,大卫,谢谢-很抱歉,我正在努力写这个:好的,我有了品牌推广工作,现在有了您的代码,我可以用它来选择正确的视频变量号,因此如果查询显示为红色,它可以替换例如的变量号1。但是,对于查询红色,我需要替换标题文本区域的一部分,并插入一个包含内容的div再往下一页-但不知道如何在页面上引用它谢谢Mahn-我不确定-我只需要红色在多个位置执行多个操作:即如果红色:替换标题区域插入div内容替换视频变量,然后蓝色和黄色也需要相同的操作?所以开关应该可以。。。您可以根据视频变量将需要更改的所有内容放入交换机的每个块中。(再次,请参见问题的编辑)谢谢Mahn,我以前从未使用过开关-你认为你可以给我一个例子,比如我如何链接到页面中开关的一个特定部分,即标题区域,说它是进入一对div中,php命令会从开关中引用这个1区域吗?你可以将div文本保存在一个变量中,比如$headingArea,当您处理开关时;然后你可以在它应该去的任何地方回显它。
$video = (isset($_GET['video']) ? $_GET['video'] : null);

if($video) {
    switch($video) {
        case "red":
            //do red stuff
            break;
        case "blue":
            //do blue stuff
            break;
        case "yellow":
            //do yellow stuff
            break;
    }
}