PHP - 从匹配ul list值的数组中获取每个键的值

时间:2017-05-20 17:58:23

标签: php arrays

我有一些产品类别呈现为无序列表:

<ul class="nav nav-pills nav-stacked">
    <li onclick="window.location.href='categories.php?clicked=CEREALS'"><a href="#">CEREALS</a></li>
    <li onclick="window.location.href='categories.php?clicked=RICE'"><a href="#">RICE</a></li>
    <li onclick="window.location.href='categories.php?clicked=WHEAT'"><a href="#">WHEAT</a></li>
</ul>

点击类别后,我将php中的值解析为数组:

<?php
    $category = $_GET["clicked"];
    settype($category, "array");
?>

我创建了一个键值数组,并尝试使用它来获取类别值。

<?php
    $array1 = array( 
        'CEREALS' => 'TOTALCEREAL', 
        'RICE' => 'RICEOTHERSOURCE', 
        'WHEAT' => 'WHEATPDS' 
    ); 
    $cat = array_intersect($category, $array1);
    echo $cat;
?>

我希望获得$ category中键的值,但是我只打印了'Array'。我想要的是,如果我点击CEREALS我想从array1返回TOTALCEREALS。任何想法。

1 个答案:

答案 0 :(得分:2)

你为什么这么复杂?

您的模板:

<ul class="nav nav-pills nav-stacked">
    <li><a href="categories.php?clicked=CEREALS">CEREALS</a></li>
    <li><a href="categories.php?clicked=RICE">RICE</a></li>
    <li><a href="categories.php?clicked=WHEAT">WHEAT</a></li>
</ul>

你的后端php代码:

<?php
$category = $_GET["clicked"];

$array1 = array( 
    'CEREALS' => 'TOTALCEREAL', 
    'RICE' => 'RICEOTHERSOURCE', 
    'WHEAT' => 'WHEATPDS' 
); 

if(!empty($array1[$category])) {
    echo $array1[$category];
}