Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于参数从多维数组中获取值_Php_Arrays_Multidimensional Array_Foreach - Fatal编程技术网

Php 基于参数从多维数组中获取值

Php 基于参数从多维数组中获取值,php,arrays,multidimensional-array,foreach,Php,Arrays,Multidimensional Array,Foreach,我试图显示一个基于url中变量的表单。这是我的阵列: $blocks = array( 'oc1' => array( 'slugid' => 'oc1', 'title' => 'One Column 1', 'desc' => 'Block with text', 'values' => array( 'textarea', 'title'

我试图显示一个基于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未添加到值数组中

我在StackOverflow上找到了很多答案,但我都没能找到答案。
因此,如果有人知道如何做到这一点,我将非常感激。

检查
$\u GET
变量是否已定义(如果您以前没有这样做过),并使用函数检查二维数组中是否存在
textarea

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

如果
textarea
在_数组中
-显示它。这就像一个符咒!不知道这么简单,谢谢!:)我现在想把它转换成一个函数,以便对每个字段使用它。但这似乎不起作用。我做错了什么?是显示textarea HTML尝试将
$blocks
变量作为函数的参数传递,因为它不是全局变量。