我有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
)
)
)
什么是问题?
我该如何解决?
答案 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);
祝你好运!