我有一个具有120~左右偏移的数组,我想知道如何在包含指定字符串的某个偏移量之后删除所述数组的所有值。例如:Offset [68]有字符串'Overflow'。我想删除包括68及更高版本在内的所有内容,并重建数组(使用当前的排序)。
我尝试用切片和拼接来搞乱,但我似乎无法让它返回正确的值。我还在考虑只抓取包含'Overflow'
的偏移号,然后通过for语句循环它直到$i = count($array);
,但这似乎比它应该更加密集。
这会是最好的方法吗?或者是否有一些功能可以做到这一点我只是使用了错误?
答案 0 :(得分:1)
$desired = array_slice($input, 0, $upTo);
答案 1 :(得分:0)
首先,您需要在数组中找到字符串出现,如果找到该值,则从该点修剪数组;
function removeString($string, $array)
{
# search for '$string' in the array
$found = array_search($string, $array);
if ($found === false) return $array; # found nothing
# return sliced array
return array_slice($array, $found);
}
如果你需要使数组顺序排列(以避免由于缺少偏移而产生的意外),你可以随时添加第一行$array = array_values($array)
。这将重新组织具有有序偏移量的新数组中的数组值:0,1,2,3,4 ...