1
後不同的結果我想json_encode回這樣的事情json_encode與array_filter
[{key: "value"},{key:"value"},...]
相反,我得到這樣的:
{"1": {key: "value"}, "2": {key: "value"}, ...}
結果是罰款,直到我做了一個array_filter
..奇怪...
function somefunction($id, $ignore = array()) {
$ignorefunc = function($obj) use ($ignore) {
return !in_array($obj['key'], $ignore);
};
global $db;
$q = "Some query";
$rows = $db->giveMeSomeRows();
$result = array();
if ($rows) {
// this mapping I've always done
$result = array_map(array('SomeClass', 'SomeMappingFunction'), $rows);
if (is_array($ignore) && count($ignore) > 0) {
/////// PROBLEM AFTER THIS LINE ////////
$result = array_filter($result, $ignorefunc);
}
}
return $result;
}
所以再次,如果我註釋掉array_filter
我得到我想要的從json_encode
無論somefunction
返回,如果沒有我得到一個JSON對象。
如果我在var_dump
$result
之前和之後array_filter
它是相同類型的PHP數組,鍵中沒有字符串等等。
謝謝!這工作;) – Johannes 2013-04-05 12:26:05
不客氣.... – Baba 2013-04-05 12:27:44
謝謝@Baba的答案,我有一個類似的問題,這解決了它! – ryanpitts1 2013-11-01 14:10:22