我有一个如下所示的数组
Array
(
[0] => Array
(
[0] => Date
[1] => Name
[2] => Hours
)
[1] => Array
(
[0] => 2013-01-02
[1] => Test User
[2] => 7:59
)
[2] => Array
(
[0] => 2013-01-03
[1] => Test User
[2] => 7:53
)
[3] => Array
(
[0] => 2013-01-04
[1] => Test User
[2] => 8:12
)
.
.
.
.
[16] => Array
(
[0] =>
[1] => Total
[2] => 103:1
)
[17] => Array
(
[0] =>
)
)
并且想要从数组中删除最后一项,我已经尝试了array_pop但是在将上面的数组传递给array_pop后我无法正常工作
Array
(
[0] =>
)
如何用最少的代码实现这一目标。
答案 0 :(得分:12)
尝试:
unset ($array_name[count($array_name)-1]);
答案 1 :(得分:1)
$callback = function(&$array) { array_pop($array); };
array_walk($array, $callback);
这将弹出每个三元组中的最后一个元素。
答案 2 :(得分:0)
尝试
$my_cnt = count($my_arr);
unset($my_arr[$my_cnt-1]);
答案 3 :(得分:0)
如果所有数组都被数字从0到最大值编入索引而没有任何中断,则可以使用
unset($ar[count($ar)-1]);
否则尝试
end($ar);
unset($ar[key($ar)]);
答案 4 :(得分:0)
您看到的是“弹出”元素而不是修改后的数组。
const talkedRecently = new Set();
module.exports = {
name: 'c',
description: 'c!',
execute(message, args) {
if (talkedRecently.has(message.member.id)) {
message.channel.send("You should wait 1 minute before use this command again")
} else if(!talkedRecently.has(message.member.id)){
message.channel.send("Your id sucsesfully added to talkedRecently")
talkedRecently.add(message.member.id)
setTimeout(() => {talkedRecently.delete(message.author.id), 60000})
console.log(talkedRecently)
}
},
};
返回它从数组中删除的元素中的数据。
这意味着你写道:
array_pop()
改为使用 print_r(array_pop($array));
修改数组,然后打印数组。
array_pop()