如何合并这两个数组(php+;sql)

如何合并这两个数组(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

我有两个数组,都来自一个SQL查询,每个数组来自不同的数据库。由于无法将这两个SQL查询合并为一个查询以获得一个数组(由于某些限制),因此我不得不将这两个数组合并。问题是,我似乎无法让它工作

这是阵列1:

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麦克
    这是阵列2:

    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
    我需要什么?我想合并这两个数组,以便将数组2的phonenr添加到数组1的用户名后面

    示例输出应该是什么样的:

    • 图片Dave 020-12345
    • 图片迈克020-56789
    fbid和uid是相互链接的id,但不会显示在组合数组中

    希望有人知道怎么做

    亲切问候,


    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循环不是数组:(如何修复?谢谢)