PHP按键切片

问题描述 投票:-2回答:1

我想按键剪切数组,然后在这些键之间返回数组。函数调用可能如下所示:

$array = cutArray('2020-1-25', '2020-1-30', $array);
$array = [
  '2020-1-22' => 0,
  '2020-1-23' => 0,
  '2020-1-24' => 3,
  '2020-1-25' => 0,
  '2020-1-26' => 0,
  '2020-1-27' => 4,
  '2020-1-28' => 0,
  '2020-1-29' => 0,
  '2020-1-30' => 0,
  '2020-1-31' => 2,
  '2020-2-1' => 2,
  '2020-2-2' => 2
];

我做了几次尝试,但总会产生很大的开销,所以我放弃了。简单的问题,很难解决?

php arrays slice
1个回答
0
投票

以(fiddle)开头的初始代码:

function cutArray($f, $t, $array) {
    $fromPos = array_search($f, array_keys($array));
    $toPos = array_search($t, array_keys($array));

    return array_slice($array, $fromPos, $toPos - $fromPos + 1);
}
© www.soinside.com 2019 - 2024. All rights reserved.