PHP数组成一个字符串

时间:2012-06-13 14:27:52

标签: php mysql sql

我有一个由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')";

3 个答案:

答案 0 :(得分:5)

使用implode()

$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(...)来实现此目的