数组过滤后的重新排序问题

Posted 听风且雨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组过滤后的重新排序问题相关的知识,希望对你有一定的参考价值。

今天遇到了一个问题,分析解决后觉得可以记下来提醒自己;

很多时候从数据库中直接取出来的是数组,例如 0=>a,1=>b,2=>c,3=>d这种,然后把数组json_encode返回给前台js,并不会有什么问题。

但当进行数组过滤时,例如把上面的数组中的第二个元素用unset去掉,变成 0=>a,2=>c,3=>d,这个时候把数组json_encode返回给js,js解析后就得不到我们想要的数组,循环就会出错。

因为键值不连续的原因吧,有时间贴一下图,返回的分别大约是这种样式

正确 {[ {},{} ]}

出错 {{ {},{} }} ,得不到数组的格式;

解决方法用sort之类的数组函数处理一下,将数组重新连贯排序,例如

sort($list);

注意而不是 $list = sort($list);

以上是关于数组过滤后的重新排序问题的主要内容,如果未能解决你的问题,请参考以下文章

在搜索期间重新加载 UITableView

使用 numpy 从过滤后的排序数组返回索引

UITableView 手动重新排序后的动画完成通知

如何使用 Ajax 加载过滤后的数据,而无需在 laravel 中重新加载整个页面

插入后的NSMutableDictionary重新排序元素[重复]

过滤和排序 SQL 查询以重新创建嵌套结构