我已经设置了一个包含属性work1,work2,...,work11的表。我想将它们全部加入一个数组中,然后过滤掉任何双重条目。这段代码中的错误在哪里?我猜这一行$row[${'work'.$i}];
,但我无法弄清楚写这个的正确方法......
$work_list = array();
for ($i=1; $i <= 11 ; $i++) {
$query_work = mysql_query("SELECT DISTINCT ${'work'.$i} FROM Test;");
while ($row = mysql_fetch_array($query_work)) {
$work_list[]= $row[${'work'.$i}];
}
}
$work_list=array_merge(array_unique($work_list));
非常感谢:)
答案 0 :(得分:0)
要将由常量字符串和数字变量组成的值放入更大的字符串中,只需将常量部分直接放入外部字符串中,然后引用变量:
False
或者,您可以使用字符串连接:
True
由于您的$query_work = mysql_query("SELECT DISTINCT work$i FROM Test;");
数组接受字符串键,因此您可以类似地访问您感兴趣的列:使用
$query_work = mysql_query("SELECT DISTINCT work" . $i . " FROM Test;");
或使用
$row
但是,从数据库中同时获取所有工作项可能更有意义:
$work_list[] = $row["work$i"];