删除PHP中JSON数组的索引,创建字符串版本的索引
Deleting index of JSON Array in PHP, creating string version of index?
我试图得到一个PHP的工作样本,但我有一点问题。
最初,如果我只是创建JSON数据并将其保存到一个文件中,结构看起来如下
[{"id":"519d4434e39ef","title":"event 3","start":"1369108800","end":"1369195199"},
{"id":"519d4430333c1","title":"event 2","start":"1368676800","end":"1368763199"},
{"id":"519d442a2b29c","title":"event 1","start":"1368504000","end":"1368590399"}]
用下面的代码示例
创建$msg = array('id' => uniqid(),
'title' => $_POST['title'],
'start' => $_POST['start'],
'end' => $_POST['end']);
$data = get_data();
array_unshift($data, $msg);
file_put_contents($data_file, json_encode($data))
但是,如果我想用
删除JSON数据集中的项$deleteId = $_POST['id'];
$data = get_data();
$index = -1;
for($i=0; $i < count($data); $i++){
if($data[$i]['id'] == $deleteId){
$index = $i;
break;
}
}
if($index != -1){
unset($data[$index]);
}
file_put_contents($data_file, json_encode($data))
文件最终看起来像下面的
{"0":{"id":"519d4434e39ef","title":"event 3","start":"1369108800","end":"1369195199"},
"2":{"id":"519d442a2b29c","title":"event 1","start":"1368504000","end":"1368590399"}}
我不明白为什么会发生这种事。
Unset保留索引,创建您所看到的结构。
相关文章:
- 如何为高图中的区域线创建z索引
- 谷歌索引iframe动态创建了什么
- 在 JavaScript 中动态创建带有字符串索引的二维表
- JS:创建从索引0开始的所有子字符串的最快方法
- 如何在对象中按值创建排序索引数组
- 使用 jQuery 创建动态元素 单击事件始终返回 for 循环中的最后一个索引
- 如何在创建编辑器函数中获取行索引
- 使用已选中的行的索引创建一个数组
- E11000 重复键错误索引:创建唯一索引时
- 在Javascript中,有没有一种方法可以用一个语句创建一个索引对象数组
- 使用 ElasticSearch javascript 客户端创建索引,promise 不会返回
- 如何使用Javascript创建Elasticsearch中的索引,其中行名取自数组
- 如何在索引数据库上创建列/对象
- 如何通过限制和降序创建At获取返回的项目索引
- 创建一个索引数组,该数组的索引值为 JavaScript 中最常见的数组值
- 如何在事务中创建索引数据库存储
- 使用 z 索引选中复选框时创建颜色叠加
- 通过数字索引创建数组而不推入数组
- Javascript会为未签名的数组索引创建空间吗
- 在表单中使用name属性中的增量索引创建新字段时,似乎不考虑变量