我有一个由mysql_query填充的数组。我希望将此数组中的值放入一个连续的字符串中,例如:
$array = array(1, 2, 3, 4, 5);
INSERT INTO 'new_slovmas'.'$tabulka'('$array[0]', '$array[1]', '$array[3]')
VALUES ('$r_1', '$r_2', '$r_3')";
一个表中的感知超过50列我不想手动填充它,而是由WHILE或FOR填充。所以我在考虑将值放入一个字符串中,如下所示:
$array = array("'1',", "'2',", "'3',", "'4',", "'5',");
现在我有了这个:
echo $array[2]; => '3',
在这个循环中,我不会在一个变量中实现多个条目。
$str = $array[0], $array[1] ... $array[xy];
INSERT INTO 'new_slovmas'.'$tabulka'('$str')
VALUES ('$r_1', '$r_2', '$r_3')";
答案 0 :(得分:5)
$string = implode(',', array(1, 2, 3, 4, 5)); // $string = 1,2,3,4,5
答案 1 :(得分:3)
PHP的implode函数会将数组解压缩为一个字符串,以便在Javascript中使用。试试这个:
$str = implode(',',$array);
答案 2 :(得分:0)
使用:
join(",", $array);
此外,在将值插入数据库之前,请确保将其转义。如果你的一个值有一个单引号(')或更糟糕的东西(比如有效的SQL),你会这样做,这会使你的查询崩溃。您可以使用mysql_real_escape_string(...)或mysqli_real_escape_string(...)来实现此目的