正在删除最后一个数组值 ?菲律宾比索

2022-08-30 17:56:08

1 个问题类型

$transport = array('foot', 'bike', 'car', 'plane');

我可以删除飞机吗?有没有办法?

2 问题类型

 $transport = array('', 'bike', 'car', ''); // delate the last line
 $transport = array('', 'bike', 'car', 'ferrari'); // dont the last line
 $transport = array('ship', 'bike', 'car', 'ferrari'); // dont the last line

有没有一种简单的方法来删除最后一个数组“如果最后一个数组值为空,则删除”如果不是空的,则不要删除?但不是删除第一个数组?


答案 1
if(empty($transport[count($transport)-1])) {
    unset($transport[count($transport)-1]);
}

答案 2

最简单的方法:array_pop(),它将弹出数组末尾的元素。

至于第二个问题:

if (end($transport) == "") { 
    array_pop($transport); 
}

应该处理第二个。

编辑:

修改了代码以符合更新的信息。这应该适用于基于关联或索引的数组。

修复了array_pop,鉴于斯科特的评论。谢谢你抓住这个!

修复了致命错误,我想空不能像我一样与结束一起使用。如果需要,上面的代码将不再捕获null / false,您可以从end函数中分配一个变量并测试如下:

$end_item = end($transport);
if (empty($end_item)) { 
    array_pop($transport); 
}

很抱歉发布不正确的代码。以上我测试过。