提问人:Arian Faurtosh 提问时间:6/11/2014 最后编辑:CommunityArian Faurtosh 更新时间:6/11/2014 访问量:470
循环变量变量,非法字符串偏移量
Looping variable variables, illegal string offset
问:
我不断得到
警告:非法字符串偏移量“type”...在线。。。
我试过按照这里的答案进行操作:非法字符串偏移警告 PHP
通过做类似的事情
if(isset($_POST['type_'.$i]))
$$T['type'] = $_POST['type_'.$i];
但它仍然会给出错误,我认为它可能与变量有关(这是我第一次使用它们。以下是我的代码:
for($i = 1; $i <= 15; $i++){
$T = 'T'.$i;
$$T['type'] = $_POST['type_'.$i];
$$T['hidden'] = $_POST['hidden_'.$i];
$$T['require'] = $_POST['require_'.$i];
if(isset($_POST['question_'.$i.'_list']))
$$T['list'] = $_POST['quesiton_'.$i.'_list'];
}
我不想创建数组 T1、T2 ...T15,具有以下值。['type'], ['hidden'], ['require'], ['list']
答:
2赞
Niet the Dark Absol
6/11/2014
#1
问题是优先权问题之一。 首先解析,然后用作 的变量名称。$T['type']
$___
由于是字符串,因此是要获取的无效偏移量。$T
['type']
您可以这样做:
${$T}['type']
...我认为。我真的不知道,因为像这样的东西就是为;)而制作的数组
$T = array();
for( $i = 1; $i <= 15; $i++) {
$row = array(
"type" => $_POST['type_'.$i],
"hidden" => $_POST['hidden_'.$i],
"require" => $_POST['require_'.$i]
);
if( isset($_POST['question_'.$i.'_list'])) {
$row['question_'.$i.'_list'] = $_POST['question_'.$i.'_list'];
}
$T[] = $row;
}
3赞
didierc
6/11/2014
#2
怎么样?
for($i = 1; $i <= 15; $i++){
$T = 'T'.$i;
$$T = array(
'type' => $_POST['type_'.$i],
'hidden' => $_POST['hidden_'.$i],
'require' => $_POST['require_'.$i]);
if(isset($_POST['question_'.$i.'_list']))
${$T}['list'] = $_POST['question_'.$i.'_list'];
}
下一个:将变量变量设置为数组键
评论
$$T = array();
T
$$T = array();
$$T = array();
$T
$T['type']
$$T
${$T['type']}
$$T
$T
$Array
['type']