我有以下函数可以执行一些操作并返回一个数组:
function do_work($array){
$result = array();
array_push($result, array("HAHAHAH" => "looooooool"));
foreach($array as $key=>$val){
array_push($result, array($key => $val));
}
return $result;
}
我最初调用它并在其中传递$_GET
数组。我最终期望的是一个扁平的JSON对象。但这会返回一个JSON数组:
在我的通话代码中:
$array = do_work($_GET);
echo json_encode($array);
如果我在GET
数组后面给出函数:
handler.php?action=register_new_user&shit=happens
这将是结果,但我希望它是一个扁平的JSON而不是数组:
[{"HAHAHAH":"looooooool"},{"action":"register_new_user"},{"shit":"happens"}]
答案 0 :(得分:2)
array_push
将内容推送到数组的末尾,然后将数组推到数组的末尾,这意味着您正在创建一个多维数组。
如果要合并两个数组,请使用array_merge
或直接设置值,如果它是单个值:
$foo = array('one' => 1, 'two' => 2);
$bar = array('three' => 3, 'four' => 4);
$foobar = array_merge($foo, $bar);
// otherwise
$foo['three'] = 3;