【问题标题】:Get value from a multidimensional array based on a parameter根据参数从多维数组中获取值
【发布时间】:2018-11-04 11:32:15
【问题描述】:

我正在尝试根据 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 上找到的答案,但我无法让它发挥作用。 因此,如果有人知道如何做到这一点,我将非常感激。

【问题讨论】:

  • 如果 textareain_array 'values' - 显示它。

标签: php arrays multidimensional-array foreach


【解决方案1】:

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

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

【讨论】:

  • 这就像一个魅力!没想到这么简单,谢谢! :) 我现在想把它变成一个函数,以便在每个字段中使用它。但这似乎不起作用。我究竟做错了什么? Yes 显示 textarea HTML
  • 尝试同时传递$blocks 变量作为函数的参数,因为它不是全局变量。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-20
  • 2012-07-21
  • 1970-01-01
相关资源
最近更新 更多