Php 组合数组

Php 组合数组,php,javascript,jquery,arrays,Php,Javascript,Jquery,Arrays,你好 对不起,我要学法语,我要学英语 我有这样的树数组 $keys = array("elment1","elment1","elment2","elment1"); // this one can have duplicates values , $operator = array("=","<",">","="); // operators for Mysql query $queries = array("query1","query2","query3","query

你好

对不起,我要学法语,我要学英语 我有这样的树数组

$keys = array("elment1","elment1","elment2","elment1");
// this one can have duplicates values , 

$operator = array("=","<",">","=");
// operators for Mysql query 

$queries = array("query1","query2","query3","query4");
// mixtes values
$keys=array(“elment1”、“elment1”、“elment2”、“elment1”);
//这个可以有重复的值,
$operator=数组(“=”、“”、“=”);
//Mysql查询的运算符
$querys=数组(“query1”、“query2”、“query3”、“query4”);
//混合值
问题是:

我如何组合此树阵列,如下所示:

$string = "SELECT FROM tables 
           WHERE
           (elment1 = query1 OR elment1<query2 OR elment1=query4)
           // need group duplicates keys 
           AND
           elment2 > query3";
           // non duplicates 
$string=“从表中选择
哪里
(elment1=查询1或elment1查询3”;
//非重复
为什么我要问这个,因为我需要这个多查询过滤器

用户可以按(+)按钮添加键+操作员+查询,次数可以根据自己的喜好而定

我使用jquery创建表单元素,使用each()函数生成3个数组 在将所有内容发布到php之前


如果有人知道最好的方法,那么非常欢迎并感谢您

您用法语提问,我会用英语回答,如果您需要翻译,您可以使用谷歌翻译。[使用谷歌翻译为您提供翻译服务。]

首先,您需要连接这些片段。请注意
mysql\u real\u escape\u字符串
,这使整个操作更加安全

$joined = array();
for($i = 0, $size = sizeof($keys); $i < $size; ++$i) {
    $joined[$i] = $keys[$i] . " " . $operator[$i] . " '" . mysql_real_escape_string($queries[$i]) . "'";
}

你用法语问了一个问题,我会用英语回答,如果你需要翻译,你可以用谷歌翻译

首先,您需要连接这些片段。请注意
mysql\u real\u escape\u字符串
,这使整个操作更加安全

$joined = array();
for($i = 0, $size = sizeof($keys); $i < $size; ++$i) {
    $joined[$i] = $keys[$i] . " " . $operator[$i] . " '" . mysql_real_escape_string($queries[$i]) . "'";
}
你好

这是代码。经过了尝试和测试。 瞧,代码…essayer avec Succeé

$keys = array("elment1","elment1","elment2","elment1");
// this one can have duplicates values , 
$operator = array("=","<",">","=");
// operators for Mysql query 
$queries = array("query1","query2","query3","query4");
// mixtes values

$joined = array();
for($i = 0, $size = sizeof($keys); $i < $size; ++$i)
{
    $joined[$keys[$i]][] = $keys[$i] . $operator[$i] . $queries[$i];
}

foreach ($joined as $key => &$value)
{
    $value = implode(' OR ', $value);
    $value = "(" . $value . ")";
}
$query = implode(' AND ', $joined);
print $query;
$keys=array(“elment1”、“elment1”、“elment2”、“elment1”);
//这个可以有重复的值,
$operator=数组(“=”、“”、“=”);
//Mysql查询的运算符
$querys=数组(“query1”、“query2”、“query3”、“query4”);
//混合值
$joined=array();
对于($i=0,$size=sizeof($keys);$i<$size;++$i)
{
$joined[$keys[$i]][]=$keys[$i]。$operator[$i]。$querys[$i];
}
foreach($key=>&$value)
{
$value=内爆('OR',$value);
$value=“(“$value”。)”;
}
$query=内爆('AND',$JOIN);
打印$query;
你好

这是代码。经过了尝试和测试。 瞧,代码…essayer avec Succeé

$keys = array("elment1","elment1","elment2","elment1");
// this one can have duplicates values , 
$operator = array("=","<",">","=");
// operators for Mysql query 
$queries = array("query1","query2","query3","query4");
// mixtes values

$joined = array();
for($i = 0, $size = sizeof($keys); $i < $size; ++$i)
{
    $joined[$keys[$i]][] = $keys[$i] . $operator[$i] . $queries[$i];
}

foreach ($joined as $key => &$value)
{
    $value = implode(' OR ', $value);
    $value = "(" . $value . ")";
}
$query = implode(' AND ', $joined);
print $query;
$keys=array(“elment1”、“elment1”、“elment2”、“elment1”);
//这个可以有重复的值,
$operator=数组(“=”、“”、“=”);
//Mysql查询的运算符
$querys=数组(“query1”、“query2”、“query3”、“query4”);
//混合值
$joined=array();
对于($i=0,$size=sizeof($keys);$i<$size;++$i)
{
$joined[$keys[$i]][]=$keys[$i]。$operator[$i]。$querys[$i];
}
foreach($key=>&$value)
{
$value=内爆('OR',$value);
$value=“(“$value”。)”;
}
$query=内爆('AND',$JOIN);
打印$query;

这是什么语言?请用英语写你的问题。我知道足够多的法语,但不足以知道问题是什么。谷歌翻译:我知道足够多的法语来回答问题,但如果我用英语回答他会生气吗?我知道足够多的PHP来为他的特定示例编写代码,但我不知道足够多的法语来解释这就是为什么我认为他需要重新思考他的想法这是什么语言?请用英语写下你的问题。我知道的足够多,知道它是法语,但不足以知道问题是什么。谷歌翻译:我知道的足够多,可以回答问题,但如果我用英语回答,他会生气吗?我知道的PHP足够多,可以为他的特定示例编写代码但我不懂足够的法语,无法解释为什么我认为他需要重新思考他的ideathanx,以供您的回答,对不起,我的法语您的代码非常方便,但这将添加或用于我想要的所有键,仅用于重复的键,默认情况下使用和非重复的键:$string=“从表中选择,其中(elment1=query1或elment1-query3);谢谢您的回复,对不起我的法语您的代码非常方便,但这将添加或用于我想要的所有键,仅用于重复键,默认情况下使用和非重复键:$string=“从表中选择(elment1=query1或elment1-query3”注意:代码为“foreach($key=>&$value)”的前卫$value-il-y-a“&”.cela remet la valeur attachédans$joined.在$value前面有一个“&”这将值存储回数组$joined.使用“查看源代码”查看实际输出..符号将字符串隐藏在浏览器中非常感谢您,这项工作非常完美我已使用随机数组进行了测试,它只起作用谢谢最后我集成了您的我的应用程序中的代码,谢谢,它工作起来像我例外,很好的工作注意一个代码“foreach($key=>&$value)”“avant$value il y a”&”.cela remet la valeur attachédans$joined.在$value前面有一个“&”这将值存储回数组$joined.使用“查看源代码”查看实际输出..符号将字符串隐藏在浏览器中非常感谢您,这项工作非常完美我已使用随机数组进行了测试,它只起作用谢谢最后我集成了您的我的应用程序中的代码,谢谢,它的工作方式和我的一样,非常好