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
是否有一种简单的方法可以删除最后一个数组“如果最后一个数组值为空则删除”如果不为空则不删除?但是不要删除第一个数组?
答案 0 :(得分:38)
if(empty($transport[count($transport)-1])) {
unset($transport[count($transport)-1]);
}
答案 1 :(得分:31)
最简单的方法:array_pop()将弹出数组末尾的元素。
至于第二个问题:
if (end($transport) == "") {
array_pop($transport);
}
应该处理第二个。
编辑:
修改代码以符合更新的信息。这应该适用于基于关联或索引的数组。
修正了array_pop,给出了Scott的评论。谢谢你抓住了!
修正了致命错误,我想空的不能和我一样使用。如果需要,上面的代码将不再捕获null / false,您可以从end函数中分配变量并进行测试,如下所示:
$end_item = end($transport);
if (empty($end_item)) {
array_pop($transport);
}
很抱歉发布了错误的代码。以上我测试过。
答案 2 :(得分:10)
表示#1,
$transport=array_slice($transport,0,count($transport)-1)
答案 3 :(得分:6)
您可以通过array_pop()
功能
array_pop($transport);
答案 4 :(得分:1)
$endvalue = & end($transport);
array_pop($endvalue);