我有一个用 PHP 排序的 JSON 数组。JSON 通过 AJAX 发送到服务器。出于某种原因,我的排序仅适用于我的 JSON 数组中的大多数索引。这里是classclass FieldSorter { public $field; function __construct($field) { $this->field = $field; } function sortIt($a, $b) { if ($a[$this->field] == $b[$this->field]) return 0; return ($a[$this->field] > $b[$this->field]) ? 1 : -1; }}我的 JSON 的样本*类似于record { "key": "AAA", "default_title": "SOME DEFAULT TITLE", "big_stamp": "101515004186", "date_stamp": "1015", "time_stamp": "15004186", "real_title": "SOME TITLE", "display_title": "SOME TITLE (3)", "display_stamp": "Oct 15th - 3:00:41 pm"}我可以排序:钥匙所有邮票默认标题出于某种原因,当我搜索时它显示为未定义的索引,real_title或者display_title我在所有情况下都验证了拼写。编辑从 AJAX 到控制台的错误输出注意:未定义索引:display_title
1 回答
慕森卡
TA贡献1806条经验 获得超8个赞
该错误意味着某些数组元素缺少某些字段,因此您需要处理丢失的数据。
function sortIt($a, $b) {
$field_a = isset($a[$this->field]) ? $a[$this->field] : '';
$field_b = isset($b[$this->field]) ? $b[$this->field] : '';
if ($field_a == $field_b) return 0;
return ($field_a > $field_b) ? 1 : -1;
}
- 1 回答
- 0 关注
- 62 浏览
添加回答
举报
0/150
提交
取消