我正在使用 JSON 与用户进行通信。 PHP 将数组转换为 JSON 的形式如下:
{"success":"text-to-display","warning":"NONE","notice":"text-to-display","error":"NONE"}
jQuery 显示通知:
function callback (data){
if(data.notice !== 'NONE'){
displayNotice(data.notice);
}
if(data.success !== 'NONE'){
displaySuccess(data.success);
}
if(data.warning !== 'NONE'){
displayWarning(data.warning);
}
if(data.error !== 'NONE'){
displayError(data.error);
}
}
不幸的是,在这个方法中不能显示两个错误或两个通知或两个警告,因为新语句替换旧语句。
<?php
$uwaga['error'] = 'old statement';
$uwaga['error'] = 'new statement';
// display only "new statement"
echo json_encode($uwaga);
?>
我认为使用数组:
<?php
$uwaga = array();
$uwaga[1] = array('type' => 'notice', 'text' => 'old statement');
$uwaga[2] = array('type' => 'notice', 'text' => 'new statement');
// display "new statement" and "old statement"
// generate: {"1":{"type":"notice","text":"old statement"},"2": {"type":"notice","text":"new statement"}}
echo json_encode($uwaga);
?>
如何在 jQuery 上“翻译”这段 PHP 代码(主要是:如何将 json 对象转换为数组?如何使用循环?如何使用这个循环?如何参考$uwaga[$key]['name']
and $uwaga[$key]['text'])
?
foreach ($uwaga as $key => $value) {
switch ($uwaga[$key]['name']) {
case 'warning':
displayWarning($uwaga[$key]['text']);
break;
}}