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

我想返回这个数组的最后一个元素,但我得到的只是-1。

4

9 回答 9

9

您还可以使用:

$a = end($array);

这也将数组内部指针设置为数组的末尾,但它确实很容易获得最后一个元素。

于 2008-10-02T23:34:43.163 回答
7

尝试计数

$array = explode(".", $row[copy]);
$a = count($array) - 1;
$array[$a]; // last element
于 2008-10-02T21:55:08.943 回答
3

您也可以使用array_pop()。此函数接受一个数组,删除数组的最后一个元素并返回该元素。

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

这将修改 $array,删除最后一个元素,所以如果您仍然需要该数组来做某事,请不要使用它。

于 2008-10-02T22:12:42.893 回答
1

如果你只想要决赛之后的一切。你可以试试

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

如果您只需要最后一个元素,这将节省生成数组。

于 2008-10-02T23:41:16.363 回答
1

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

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

于 2008-10-02T23:46:32.560 回答
0

我认为你的第二行应该更像:

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

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

于 2008-10-02T21:54:34.670 回答
0

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

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

即:“副本”前面不是缺少“$”,.length 真的有效吗?

于 2008-10-02T21:55:37.053 回答
0

由于这是 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)];

于 2008-10-02T21:57:43.630 回答
0

嗨,你也可以使用它:

$stack = 数组(“橙子”、“香蕉”、“苹果”、“覆盆子”);$fruit = array_pop($stack); print_r($stack);

在此之后,$stack 将只有 3 个元素:

数组( [0] => 橙色 [1] => 香蕉 [2] => 苹果)

并且覆盆子将分配给$fruit。

于 2009-06-26T12:22:45.330 回答