Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未定义索引-奇数行为_Php - Fatal编程技术网

Php 未定义索引-奇数行为

Php 未定义索引-奇数行为,php,Php,我有一个JSON数组,我正在用PHP排序。JSON通过AJAX发送到服务器。出于某种原因,我的排序只适用于JSON数组中的大多数索引 这是类 class FieldSorter { public $field; function __construct($field) { $this->field = $field; } function sortIt($a, $b) { if ($a[$this->field] =

我有一个JSON数组,我正在用PHP排序。JSON通过AJAX发送到服务器。出于某种原因,我的排序只适用于JSON数组中的大多数索引

这是

class 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\u title
display\u title
搜索时,它显示为未定义的索引。我已验证了所有实例中的拼写

编辑从AJAX到控制台的错误输出

注意:未定义索引:显示标题


该错误意味着某些数组元素缺少某些字段,因此需要处理缺少的数据

    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;
    }

确保所有数组元素都有这些字段。请编辑问题并显示准确的错误消息。您可以发布生成此错误的数组的示例吗?这解决了我的问题,并且确实指出了一条缺少这些值的记录,谢谢您的回复。我将在上面添加错误。