PHP: Использование одного значения из одного массива в качестве ключа для другого массива? - PullRequest
0 голосов
/ 23 января 2019

Я был бы рад предоставить больше информации, если это необходимо.Это урезанная версия:

Допустим, у меня есть такой массив:

$field_data[0][0] = array("user_name", "table", "table[0][user_name]", "select", "200px", 0, "names");

И эти $ field_data идут до $ field_data [3] [15].Структура, начиная с первого элемента до последнего: имя поля, таблица, таблица [индекс] [имя поля], тип ввода (текст / дата / выбор / ..), размер поля, индекс иимя данных из БД для отображения в селекторе, если это применимо.

Затем в php:

$select['names'] = $db_lookup->getNamesSelect();

И на входе я пытаюсь заполнить ихдинамически так:

foreach ($field_data[$i] as &$field) {                  
            $field_name = $field[0];
            $table = $field[1];
            $table_field_name = $field[2];
            $field_type = $field[3];
            $field_size = $field[4];
            $iteration = $field[5];
            $selector = $field[6];
            $clean = ($iteration >= 0 ? $clean[$table][$iteration][$field_name] : $clean[$table][$field_name]);

            if ($field_type == 'text' || $field_type == 'date') { 
            ....
            } else if ($field_type == 'select') { 
                if($selector != null) {
                    **//This is where the problem is. This results in NULL:
                    // $select[$selector] (or $select[$field[6]])
                    // Meanwhile, $select['names'] works!**
            }
}

1 Ответ

0 голосов
/ 23 января 2019

Я немного повозился с этим, и это работает:

$field_data[0][1] = array("user_name", "table", "table[0][user_name]", "select", "200px", 0, "ages");
$field_data[0][0] = array("user_name", "table", "table[0][user_name]", "select", "200px", 0, "names");

$select['names'] = "Foo";

foreach ($field_data[0] as $field) {
    if (!empty($select[$field[6]])) {
        echo $select[$field[6]]."\n";
    }
}

Я думаю, что вы просто упускаете вторую заключительную скобку.на $ select [$ field [6]] <- </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...