我无法理解如何做以下事情。我有两个不同的长度和不同的维度数组,我想要组合,以便结果数组将有array1 + array2单元格不匹配。
这可以帮助您理解我的意思
$dbquery_results1[0][] = array("1","5","b99");
$dbquery_results1[1][] = array("4","12","www");
$dbquery_results1[2][] = array("10","32","ccc");
$dbquery_results1[3][] = array("7","142","xx");
$dbquery_results2[0][] = array("c","10");
$dbquery_results2[1][] = array("as","1");
$dbquery_results2[2][] = array("fe","7");
$dbquery_combination[0][] = array("1","5","b99","as");
$dbquery_combination[1][] = array("7","142","xx","fe");
我想做什么
$i=0;
while(!empty($dbquery_results1[$i][0])) {
If($dbquery_results1[$i][0] == $dbquery_results2[any of the dimensions here][2])
{
$dbquery_combination[] = $dbquery_results1[$i][]+ $dbquery_results2[x-dimension][2];
} $i++;
}
因此,只有当array1的[] [0]值与array2相同[任何维度] [1]时,array1 +不同的array2单元格才会保存在array3中。
抱歉,我不太善于表达自己。非常感谢。
答案 0 :(得分:1)
所以,如果你没有选择,你可以这样做:
<?php
$dbquery_results1[0] = array("1","5","b99");
$dbquery_results1[1] = array("4","12","www");
$dbquery_results1[2] = array("10","32","ccc");
$dbquery_results1[3] = array("7","142","xx");
$dbquery_results2[0] = array("c","10");
$dbquery_results2[1] = array("as","1");
$dbquery_results2[2] = array("fe","7");
foreach($dbquery_results1 as $line_r1)
{
foreach($dbquery_results2 as $line_r2)
{
if($line_r1[0] == $line_r2[1])
{
$line = $line_r1;
$line[] = $line_r2[0];
$dbquery_combination[] = $line;
}
}
}
print_r($dbquery_combination);
?>
结果是:
Array (
[0] => Array ( [0] => 1 [1] => 5 [2] => b99 [3] => as )
[1] => Array ( [0] => 10 [1] => 32 [2] => ccc [3] => c )
[2] => Array ( [0] => 7 [1] => 142 [2] => xx [3] => fe )
)
答案 1 :(得分:0)
我认为你使问题复杂化了。我想你的数组是SQL请求的结果?如果是这种情况,您应该更喜欢使用联合SQL请求。
// Coment答案:他们是否在同一台服务器上?如果是,您可以通过指定完全限定条件同时在多个数据库上发出请求。