PHP和MySQL - 用数组中的N值替换N个分隔符

时间:2011-03-10 16:32:58

标签: php mysql string

我一直在阅读有关设计模式的PHP书籍,并希望在我的代码中加入一种数据库模式。具体来说,类方法返回一个包含两个元素的数组。

第一个元素是一个字符串,如下所示。

"SELECT col1, col2, col3 FROM table WHERE col1 = ?, col2= ?"

第二个元素是一个包含字符串值数组的数组(在本例中为1和2)

我正在寻找最有效的方法(它将经常用于实例化对象)以在“?”上合并这两个数组。这样的分隔符 最终结果是一个字符串=     “SELECT col1,col2,col3 FROM table WHERE col1 = 1,col2 = 2”

我见过像preg_replace这样的东西,但它依赖于固定的N个模式数组。我正在寻找一些更有活力的东西。我将在PDO select语句中使用代码的输出。请注意,上面是一个具体的例子,但我需要它为任意数量的工作吗?和输入

这是代码

//This function returns an array of two elements, $string_ar[0] is the string, $string_ar[1] are the values
$string_ar = $selectionFactory->doNewSelection($friend_idobj,'has_friend');

谢谢大家!

1 个答案:

答案 0 :(得分:1)

首先,我想告诉你关于PHP的PDO extension,它支持并专注于准备好的语句,甚至为不支持它们的数据库引擎模拟它们。

其次,如果你想在没有准备好的陈述的情况下处理这个问题,你应该看看strtok,如果你没有非常复杂的逻辑,甚至explode也可以这样做。