我在ouchdb上有一个数据库,每个文档都有一个稍微复杂的结构,这是一小部分:
'null'
我以前有更多的值,但是这没有意义,所以我编写了代码将其限制为最多15个值。
"category": {
"1496805145": -1,
"1497064141": -1,
"1497150993": -1,
"1497322542": -1,
"1497487102": -1,
"1497571701": -1,
"1497657026": -1,
"1497749178": -1,
"1497920895": -1,
"1498005644": -1,
"1498091037": -1,
"1498179039": -1,
"1502183511": -1,
"1502309289": -1,
"1502395763": -1,
"1502482211": -1,
"1502568580": -1,
"1502655044": -1,
"1502741651": -1,
"1502827775": -1,
"1502914685": -1
我的问题是是否有一个php函数说“保存我错误的最后15个元素,但删除所有其他元素”?
答案 0 :(得分:2)
我认为您想要array_slice()
。您给它一个偏移量和一个长度,它将以数组的形式返回这些值。请参阅PHP文档:http://php.net/manual/en/function.array-slice.php
一个例子:
$truncatedArray = array_slice($pro, -15);
这将为您提供数组$pro
的最后15个元素
答案 1 :(得分:2)
使用array_slice($a, -15, 15, true);
,其中$a
是数组。
-15
告诉函数从末尾开始的15个元素开始。
15
告诉该函数获取15个元素。
true
告诉函数还保留键,我假设您也这样做。
如果您不想保留键,则可以使用array_slice($a, -15);
,因为缺少第三个参数,它将获取元素,直到到达最后一个(因此为15)