我有这样的数组结果, 例1:
Array ( [0] =>15 [1] => 16 [2] => 17 [3] => 18 )
示例2:
数组([0] => 15 [1] => 16 [2] => 17 [3] => 18 [4] => 18)
第一个数组在数组[3]结束 第二个数组在数组[4]结束 如何计算数组的结束位置 有没有任何函数来计算这个
答案 0 :(得分:5)
(直接从http://www.php.net/manual/en/function.count.php复制)
取决于“结束”是什么意思,
<?php
$yourArray = array(1=>'a', 7=>'b', 5=>'c');
print count($yourArray); // prints 3
end($yourArray);
print key($yourArray); // prints 5
print max(array_keys($yourArray)); // prints 7
?>
对于普通数组,只需使用count($a) - 1
。
答案 1 :(得分:2)
答案 2 :(得分:2)
我认为你要做的是计算数组中元素的数量?
如果是这样,这将是计数功能。 http://php.net/manual/en/function.count.php
答案 3 :(得分:2)
关联数组/数组与漏洞无关:
$lastElement = end($array);
$lastKey = key($array); // only after end(); has set the internal array pointer!
答案 4 :(得分:2)
如果您只需要数组的最后一个值,则可以使用array_pop
$arr = array('a','b','c');
echo array_pop($arr); //get 'c'
为了好玩:
$a = range(1, 100000);
shuffle($a);
$ts = microtime(true);
echo end($a),"\n";
printf("End =%.6f\n", microtime(true) - $ts);
//$b = range(1, 100000)
//shuffle($b);
reset($a);
$ts = microtime(true);
echo array_pop($a),"\n";
printf("Array_Pop=%.6f\n", microtime(true) - $ts);
结果是:
68875
End=0.000289
68875
Array_Pop=0.000053
答案 5 :(得分:1)
如果它只是一个普通的数字索引数组,那么你可以使用count()
,它可以为你提供数组中元素的数量。由于数组默认情况下从零开始,因此您需要减去一个以获取最终元素的索引:
$array = array(0 => 15, 1 => 16, 2 => 17, 3 => 18);
$index = count($array) - 1;
echo $array[$index];