根据参数从多维数组获取值

时间:2018-11-04 11:32:15

标签: php arrays multidimensional-array foreach

我正在尝试显示基于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'
        )
    )

);

现在,我想显示基于values数组的表单字段。因此,如果我的网址是test.php?b = oc1,则应显示textarea字段。如果为test.php?b = oc2,则不应这样做,因为不会将textarea添加到values数组中。

我已经尝试了很多在StackOverflow上找到的答案,但是我无法使其正常工作。 因此,如果有人知道该怎么做,我将非常感谢。

1 个答案:

答案 0 :(得分:1)

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

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