【问题标题】:How to delete last element in a 2d array?如何删除二维数组中的最后一个元素?
【发布时间】:2020-08-14 14:03:56
【问题描述】:

我正在通过表单获取一个数组。我正在使用explode方法来分隔我的值

$getData =$_POST['jasonHandle'];

print_r($getData); // output   incoetp,11,12,13,#,101,11,12,#

这里#用于分隔

$arr=explode(",#,",$getData);

print_r($arr);    // Array ( [0] => incoetp,11,12,13 [1] => 101,11,12,# )

上面的数组可以包含任意数量的元素(在这种情况下有两个数组)。

我需要删除出现在最后一个数组最后的 # 元素

我尝试了 unset() 和 array_pop () ,但它删除了整个最后一个数组。

另外 COUNT() 函数不适用于内部数组

echo count($arr[1]);   //  Parameter must be an array or an object that implements Countable  

我一直在对二维数组使用 count 函数,从来没有遇到过任何问题。为什么会发生这种情况?

【问题讨论】:

  • 这是一个字符串。只需修剪它,例如:trim($arr[1], ',# ');

标签: php arrays


【解决方案1】:

你可以使用chop()函数

chop()--> Chop() 函数从字符串的右端删除空格或其他预定义字符

$arr[1]=chop($arr[1],",#");

【讨论】:

  • 这确实有效。谢谢。我如何获得内部数组的计数。 echo count(arr[1]) 给我错误 //count(): Parameter must be an array or an object that implement Countable
  • 如果你使用strlen($arr[1])会发生什么?
  • 只需使用这个count(explode(",",$arr[1]))
【解决方案2】:

使用rtrim删除它

$arr[1] = rtrim($arr[1], '#');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-09
    • 2012-12-24
    • 2021-03-30
    • 2016-01-01
    • 1970-01-01
    • 2012-01-05
    相关资源
    最近更新 更多