有没有办法在数组中打印一定数量的项目?
例如,打印$ array中的前3项。然后再打印$ array中的下三个项目。
有什么建议吗?
非常感谢
答案 0 :(得分:2)
您可以使用array_slice来完成工作:
<?php
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 2); // return "c", "d", et "e"
$output = array_slice($input, -2, 1); // return "d"
$output = array_slice($input, 0, 3); // return "a", "b", et "c"
?>
答案 1 :(得分:1)
这是你必须要构建的东西,所以根据你对'print'的定义,它可能是print_r,var_dump,或者只是echo,你可以使用这样的函数作为一个例子:
function printmyarraybythrees($array,$index) {
for ($x = $index; $x < $index + 3; $x++) print_r($array[$x]);
}
答案 2 :(得分:1)
对于第一组:
for ($i = 0; $i < 3; $i++)
echo $array[$i];
第二组:
for ($i = 3; $i < 6; $i++)
echo $array[$i];
答案 3 :(得分:0)
几个月前我发现的一件事是Array Iterator Class
http://php.net/manual/en/class.arrayiterator.php
你应该可以使用它来迭代一个数组,并从页面的某个地方拿走你离开的地方。
答案 4 :(得分:0)
for($i=0;$i<3;$i++) {
echo $array[$i];
}
然后,
for($i=0;$i<6;$i++) {
echo $array[$i];
}
答案 5 :(得分:0)
function stepArray($array, $step) {
static $location = 0;
$started = $location;
while ($location < ($started + $step) && isset($array[$location])) {
echo $array[$location];
$location++;
}
}
这只是我的头脑,并假设阵列按顺序编号。无论您调用多少次,静态变量都会跟踪您在数组中的位置。所以打电话
stepArray($array, 3);
会打印前三个元素,然后
stepArray($array, 2);
会打印下两个,等等。
答案 6 :(得分:0)
您的数组的图像如下:
$ary = array('Apple', 'Banana', 'Mango', 'Coconut', 'Orange');
现在你要打印第一个3.这可以按如下方式进行:
for($i=0;$i<3;$i++)
echo $ary[$i];
对于第二个3,您可以使用以下内容:
for($i=3;$i<6;$i++)
echo $ary[$i];
答案 7 :(得分:0)
class ArrayHelper
{
private static function printArray($from, $to, $array)
{
$_new = new Array();
if($from <= count($array) && $to <= count($array)
{
for($i = $to; $i <= $from; $i++)
{
$_new[] = $array[$i];
}
}
print_r($_new);
}
}
$ar = array('One', 'Two', 'Three', 'Four');
ArrayHelper::printArray(0, 2);