我試圖通過PHP推動JavaScript和在想,如果這甚至有可能....PHP JavaScript的轉換
我定義PHP中的數組:在客戶端我叫
$some_date = ["Date.UTC(2008,1,9)", ....];
echo json_encode = ($some_date);
$.getJSON(....){
....
}
我得到的數據爲「Date.UTC(2008,1,9)」 我怎樣才能去除出「不通過整個陣列循環?
我試圖通過PHP推動JavaScript和在想,如果這甚至有可能....PHP JavaScript的轉換
我定義PHP中的數組:在客戶端我叫
$some_date = ["Date.UTC(2008,1,9)", ....];
echo json_encode = ($some_date);
$.getJSON(....){
....
}
我得到的數據爲「Date.UTC(2008,1,9)」 我怎樣才能去除出「不通過整個陣列循環?
我不認爲你的問題的簡單解決方案存在,如果你想用「繼續json_encode()「...
相反,如果你的數組看起來很簡單,爲什麼不自己構建JSON對象呢?
$some_date = ["Date.UTC(2008,1,9)", "Date.UTC(2008,1,10)"];
$json_encoded = '['. implode(', ', $some_date) .']';
echo $json_encoded;
簡單,乾淨,漂亮!
您可以使用replace方法刪除雙引號。
var new_date = some_date.replace(/"/g, '');
我看不出爲什麼你不應該遍歷數組,但你可以加入數組,然後使用正則表達式匹配的日期,然後再切開它。
這都可以做服務器端:
$some_date = ["Date.UTC(2008,1,9)", ....];
$some_date_string = implode("|", $some_date);
$some_date_string = preg_replace_callback(/Date\.UTC\(([0-9]{4}),([0-9]{1,2}),([0-9]{1,2})\)/g, function(matches) {
// matches[0] = year
// matches[1] = month/day - dont know your order (y.m.d/y.d.m)
// matches[2] = month/day
}, $some_date_string);
$some_date = explode("|", $some_date);
和客戶端:
$.getJSON('path.php', function(arr) {
var arr = arr.join('|').replace(/Date\.UTC\(([0-9]{4}),([0-9]{1,2}),([0-9]{1,2})\)/g, function(_, a, b, c) {
// a = year
// b = month/day - dont know your order (y.m.d/y.d.m)
// c = month/day
}).split('|');
});
'echo json_encode =($ some_date)'?那應該做什麼? – elclanrs
請你清楚一點。你想從json字符串中提取什麼數據? – BIOS
我的意思是回聲json_encode($ some_date)假設以JSON格式對數組進行編碼,以便我可以使用客戶端的json對象來提取單個對象以插入圖表庫 – codeBarer