卡巴拉姆!爆炸功能让我头疼!

时间:2020-03-06 15:03:08  来源:igfitidea点击:
$array = explode(".", $row[copy]);
$a = $array.length -1;

我想返回该数组的最后一个元素,但是我从中得到的都是-1. 帮助将不胜感激。

解决方案

我认为第二行应该更像是:

$index = count($array) - 1;
$a = $array[$index];

如果需要数组中的元素,则需要使用方括号。

尝试计数:

$array = explode(".", $row[copy]);
$a = count($array) - 1;
$array[$a]; // last element

我的PHP有点生锈,但这不应该是:

$array = explode(".", $row[$copy]);
$a = $array[count($array)];

即:"副本"前面是否不缺少" $" ,. length实际上有效吗?

因为这是PHP的标签,所以我假设我们正在使用PHP,如果是这样,那么我们将需要执行以下操作:

$array = explode(".", $row[copy]);
$a = count($array) - 1;
$value = $array[$a];

但这仅在键是数字且从0开始时才有效。

如果要获取数组的最后一个元素,但没有数字键或者它们不是从0开始,则:

$ array = explode("。",$ row [copy]);
$ revArray = array_reverse($ array,true);
$ value = $ revArray [key($ revArray)];

我们也可以使用array_pop()。此函数获取一个数组,删除该数组的最后一个元素,然后返回该元素。

$array = explode(".", $row[copy]);
$a = array_pop($array);

这将修改$ array,删除最后一个元素,因此如果我们仍然需要该数组用于某些东西,请不要使用它。

我们还可以使用:

$ a =结束($ array);

这也将数组的内部指针设置为数组的末尾,但这确实使我们轻松获得了最后一个元素。

如果你只想在决赛之后参加比赛。你可以尝试

$pos = strrpos($row['copy'], '.');
$str=($pos!==false) ? substr($row['copy'],$pos+1) : '';

如果我们只需要最后一个元素,则可以节省生成数组的时间。

实际上,有一个函数可以完全满足需求:end()

$ res = end(explode('。',$ row ['copy']));

嗨,你也可以使用这个:

$ stack = array(" orange"," banana"," apple"," raspberry");
$ fruit = array_pop($ stack);
print_r($ stack);

此后,$ stack将仅包含3个元素:

大批
(
[0] =>橙色
[1] =>香蕉
[2] =>苹果
)

覆盆子将分配给$ fruit。