取消设置数组的最后一项

2022-08-30 21:28:16

在此代码中,我尝试取消设置$status数组
的第一项和最后一项以取消设置,但我尝试的最后一项将其指针放在$end
未设置,因此我该怎么办?


$item[$fieldneedle] = " node_os_disk_danger ";
$status = preg_split('/_/',$item[$fieldneedle]);
unset($status[0]);
$end = & end($status);
unset($end);


在这个例子中,我需要os_disk


答案 1
array_shift($end); //removes first
array_pop($end); //removes last

答案 2

请代替 使用 。它更快。然后,您可以使用 和 从数组的末尾和开头删除项。然后,再次使用 将其余项目放回原处。explodepreg_splitarray_poparray_shiftimplode

更好的解决方案是用于查找第一个和最后一个,并用于复制中间的部分。这将导致只有一个刺痛副本,而不必将字符串转换为数组,对其进行修改,然后将数组组合成字符串。(或者你不需要把它们放在一起?最后的“我需要'os_disk'让我感到困惑)。str_pos_substr