Получить значение из многомерного массива на основе параметра - PullRequest
0 голосов
/ 04 ноября 2018

Я пытаюсь показать форму, основанную на переменной в 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, этого не следует делать, поскольку текстовая область не добавляется в массив значений.

Я перепробовал много ответов, которые нашел в StackOverflow, но не могу заставить его работать. Поэтому, если кто-нибудь знает, как это сделать, я буду очень, очень благодарен.

1 Ответ

0 голосов
/ 04 ноября 2018

Проверьте, определена ли переменная $_GET (если вы не сделали этого раньше), и с помощью функции in_array проверьте, существует ли значение textarea в вашем двумерном массиве.

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