Php 基于参数从多维数组中获取值
我试图显示一个基于url中变量的表单。这是我的阵列: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'
$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
变量作为函数的参数传递,因为它不是全局变量。