2012-06-13 220 views
2

我有一个由mysql_query填充的数组。价值观是这个数组中的我要放在一个连续的字符串,例如:将PHP数组合并成一个字符串

$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')"; 

回答

5

使用implode()

$string = implode(',', array(1, 2, 3, 4, 5)); // $string = 1,2,3,4,5 
+1

实际上它需要是$ string =“'”.implode(....)。“'”; – TigerTiger

+0

好吧,这个数组呢'$ stlpec [] = $ row ['column_name'];'我不知道它的值。它如何看起来与函数内爆?它不需要'implode(',',$ stlpec [$ i]);' –

+0

由于数组没有存储在数据库列中,因此您实际上不会使用数组。你需要确定什么样的数据才能真正计划对它做任何事情。 –

3

PHP的破灭功能将解压的数组在JavaScript中使用的字符串。试试这个:

$str = implode(',',$array); 
+0

-1?为什么downvote? – jcho360

+0

对不起,错误... –

0

用途:

join(",", $array); 

此外,要确保你将它们插入到数据库之前逃脱你的价值观。如果你的值中有一个单引号(')或者更糟糕的东西(比如有效的SQL),你会这样做,这会使你的查询崩溃。您可以使用mysql_real_escape_string(...)或mysqli_real_escape_string(...)来获取此

+0

'join()'是'implode()的别名' –

相关问题