如何合并这两个数组(php+;sql)
我有两个数组,都来自一个SQL查询,每个数组来自不同的数据库。由于无法将这两个SQL查询合并为一个查询以获得一个数组(由于某些限制),因此我不得不将这两个数组合并。问题是,我似乎无法让它工作 这是阵列1:如何合并这两个数组(php+;sql),php,sql,arrays,merge,Php,Sql,Arrays,Merge,我有两个数组,都来自一个SQL查询,每个数组来自不同的数据库。由于无法将这两个SQL查询合并为一个查询以获得一个数组(由于某些限制),因此我不得不将这两个数组合并。问题是,我似乎无法让它工作 这是阵列1: echo '<ul id="friends">'; foreach($result as $friend => $value) { echo '<li><img src="'.$value['pic_squar
echo '<ul id="friends">';
foreach($result as $friend => $value)
{
echo '<li><img src="'.$value['pic_square'].'" alt="" />'.$value['uid'].' ' . $value['name'] . '</li>';
}
echo '</ul>';
echo';
foreach($friend=>$value的结果)
{
回显“”.$value['uid'..”.$value['name'.. ”;
}
回声“”;
并将输出:
- 照片12345戴夫
- 图67890麦克
- 等
echo '<ul id="friends">';
while($value = mysql_fetch_array($query))
{
echo '<li> '.$value['fbid'] .' '. $value['userphone'] .'</li>';
}
echo '</ul>';
echo';
而($value=mysql\u fetch\u数组($query))
{
回显“”.$value['fbid']”..$value['userphone']”. ;
}
回声“”;
并将输出:
- 12345020-12345
- 6789020-56789
- 等
- 图片Dave 020-12345
- 图片迈克020-56789
- 等
Maurice由于数组集合名称不同(列名称不同),我不确定直接合并是否有效
$result = array_merge($result, $query);
print_r($result);
但是你可以像下面这样工作
给出循环并从两个数组存储到第三个数组中,并在第三个数组上执行必要的操作。这是我能想到的最简单、最有效的方法。foreach循环遍历第一个数组,基本上使用“uid”作为键添加新的键/值对。这将使您能够在循环第二个查询的结果时轻松找到它们
<?php
// First query.
foreach ( $result as $key => $value )
{
// Add a new key/value pair in the array using the "uid" as the key and $value as the value.
$result[$value['uid']] = $value;
// Remove the previous key/value pair value.
unset($result[$key]);
}
// Second query.
while ( $value = mysql_fetch_array($query) )
echo sprintf('<li>%s %s %s</li>', $result[$value['fbid']]['pic_square'], $result[$value['fbid']]['name'], $value['userphone']);
是否有来自两个不同SQL Server的数据?如果不是,有什么理由不只是将这两个表连接在一起吗?是的,它们来自两个不同的sql Server数据库,但这给了我一个错误:警告:array#u merge()[function.array merge]:Argument#2不是/…/等中的数组。显然,while循环不是数组:(如何修复?谢谢)