首页 > 解决方案 > 根据参数从多维数组中获取值

问题描述

我正在尝试显示基于 url 中的变量的表单。这是我的数组:

$blocks = array(
    'oc1' => array(
        'slugid' => 'oc1',
        'title' => 'One Column 1',
        'desc' => 'Block with text',
        'values' => array(
            'textarea',
            'title'
        )
    ),
    'oc2' => array(
        'slugid' => 'oc2',
        'title' => 'One Column 2',
        'desc' => 'Block with button',
        'values' => array(
            'title'
        )
    )

);

现在我想显示基于值数组的表单字段。因此,如果我的 url 是 test.php?b=oc1 它应该显示 textarea 字段。如果 test.php?b=oc2 不应该,因为 textarea 没有添加到 values 数组中。

我已经尝试了很多在 StackOverflow 上找到的答案,但我无法让它发挥作用。因此,如果有人知道如何做到这一点,我将非常感激。

标签: phparraysmultidimensional-arrayforeach

解决方案


检查是否定义了$_GET变量(如果您以前没有这样做过)并使用in_array函数检查textarea二维数组中是否存在值。

if (isset($_GET['b']) && in_array('textarea', $blocks[$_GET['b']]['values']))
{
    echo 'textarea';
}

推荐阅读