【发布时间】:2010-09-14 22:52:00
【问题描述】:
$array = explode(".", $row[copy]);
$a = $array.length -1;
我想返回这个数组的最后一个元素,但我得到的只是-1。
【问题讨论】:
$array = explode(".", $row[copy]);
$a = $array.length -1;
我想返回这个数组的最后一个元素,但我得到的只是-1。
【问题讨论】:
你也可以使用:
$a = end($array);
这也将数组内部指针设置为数组的末尾,但它确实很容易让你得到最后一个元素。
【讨论】:
试试count:
$array = explode(".", $row[copy]);
$a = count($array) - 1;
$array[$a]; // last element
【讨论】:
您也可以使用array_pop()。此函数接受一个数组,删除数组的最后一个元素并返回该元素。
$array = explode(".", $row[copy]);
$a = array_pop($array);
这将修改 $array,删除最后一个元素,所以如果您仍然需要该数组来做某事,请不要使用它。
【讨论】:
如果你只想在决赛之后的一切。你可以试试
$pos = strrpos($row['copy'], '.');
$str=($pos!==false) ? substr($row['copy'],$pos+1) : '';
如果您只需要最后一个元素,这将节省生成数组。
【讨论】:
其实有一个函数可以做你想做的事:end()
$res = end(explode('.', $row['copy']));
【讨论】:
我的 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)];
【讨论】:
我认为你的第二行应该更像:
$index = count($array) - 1;
$a = $array[$index];
如果你想要一个数组中的元素,你需要使用方括号。
【讨论】:
你也可以用这个:
$stack = array("橙色", "香蕉", "苹果", "覆盆子"); $fruit = array_pop($stack); print_r($stack);
在此之后,$stack 将只有 3 个元素:
数组 ( [0] => 橙色 [1] => 香蕉 [2] => 苹果 )
并且覆盆子将分配给$fruit。
【讨论】: