[英]PHP: Using a single value from one array as a key for another array?
如果需要,我很乐意提供更多信息。 这是精简版:
假设我有一个像这样的数组:
$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!**
}
}
我把它弄乱了一点,这可行:
$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]] <-
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.