array_merge制作新数组

时间:2014-03-19 19:08:02

标签: php arrays array-merge

我有2个阵列:

$a$b

我想将这些数组合并到$res

这是我的代码:

$a = array("
    [0] => Array
        (
            [0] => 45677
            [ID] => 45677
            [1] => 10
            [post_author] => 10
            [2] => 2014-02-26 19:05:59
            [post_date] => 2014-02-26 19:05:59
            [3] => 2014-02-26 14:35:59
            [post_date_gmt] => 2014-02-26 14:35:59
        )");
$b= array("
    [0] => Array
        (
            [first_image] => http://gogole.com/a.jpg
        )");


$res = array_merge($a,$b);

输出:

Array
(
    [0] => 
    [0] => Array
        (
            [0] => 45677
            [ID] => 45677
            [1] => 10
            [post_author] => 10
            [2] => 2014-02-26 19:05:59
            [post_date] => 2014-02-26 19:05:59
            [3] => 2014-02-26 14:35:59
            [post_date_gmt] => 2014-02-26 14:35:59
        )
    [1] => 
    [0] => Array
        (
            [first_image] => http://gogole.com/a.jpg
        )
)

它应该是这样的:

Array
(
    [0] => Array
        (
            [0] => 45677
            [ID] => 45677
            [1] => 10
            [post_author] => 10
            [2] => 2014-02-26 19:05:59
            [post_date] => 2014-02-26 19:05:59
            [3] => 2014-02-26 14:35:59
            [post_date_gmt] => 2014-02-26 14:35:59
            [first_image] => http://gogole.com/a.jpg
        )
    )

)

什么是问题?

我该如何解决?

3 个答案:

答案 0 :(得分:4)

您没有正确定义数组。我有一种感觉,你使用输出的var_dump某人来定义你的数组,但这不是为了在代码中使用。这是一个易于理解的阵列。你可以改变这个:

$b= array("
    [0] => Array
        (
            [first_image] => http://gogole.com/a.jpg
        )");

对此:

$b= array(array('first_image' => 'http://gogole.com/a.jpg'));

此外,您需要对$a数组执行相同操作。


此外,要使其以您想要的方式运作,您需要使用array_merge($a[0],$b[0]);

答案 1 :(得分:1)

我不确定你是如何得到那个输出的,它看起来像是mysql_fetch_array()的结果,而不是mysql_fetch_assoc(),它似乎正在寻找。我刚刚做了以下问题:

$a = array(
  'id' => '123123',
  'author' => 'Random Author',
  'date' => '2013-01-05'
);

$b = array(
  'first_image' => 'http://gogole.com/a.jpg'
);

$res = array_merge($a, $b);

echo '<pre>';
print_r($res);
echo '</pre>';

结果:

Array
(
    [id] => 123123
    [author] => Random Author
    [date] => 2013-01-05
    [first_image] => http://gogole.com/a.jpg
)

答案 2 :(得分:0)

我修改了你的语法,你的存储值是字符串 这里有Assoc数组。 复制此代码

$a = array("ID"=> 45677,
            "post_author" => 10,
            "post_date" => "2014-02-26 19:05:59",
            "post_date_gmt" => "2014-02-26 14:35:59"
        );
        $b= array("first_image" => "http://gogole.com/a.jpg");


$res = array_merge($a,$b);
var_dump($res);

祝你好运!