Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP foreach数组获得前9个结果,然后是第二个9_Php_Arrays_Foreach - Fatal编程技术网

PHP foreach数组获得前9个结果,然后是第二个9

PHP foreach数组获得前9个结果,然后是第二个9,php,arrays,foreach,Php,Arrays,Foreach,使用PHP foreach如何在一个foreach中只得到前9个结果,在另一个foreach中只得到第二个9 差不多 foreach{$shop[1-9]作为$shop{ 有什么想法吗 妙用 是否改为对循环使用 for (int $i = 0; $i < 9; $i++) { $shop = $shops[$i]; } for(int$i=0;$i

使用PHP foreach如何在一个foreach中只得到前9个结果,在另一个foreach中只得到第二个9

差不多

foreach{$shop[1-9]作为$shop{

有什么想法吗

妙用


是否改为对循环使用

for (int $i = 0; $i < 9; $i++)
{
    $shop = $shops[$i];
}
for(int$i=0;$i<9;$i++)
{
$shop=$shops[$i];
}
然后你可以用
$i=10..19
做另一件事。如果你必须使用
foreach
,那么你可以用一个计数器递增并
break;
,或者像其他人建议的那样使用
array\u slice

使用它,你可以将你的数组分成两部分,然后你就可以这样做了

$my_array = array('1','2',...,'18');

$first_array = array_slice($my_array,0,9);
$second_array = array_slice($my_array,9,18);

改为使用
for
循环

for ($i = 0; $i < 9; $i++)
{
    $shop = $shops[$i];
}

for ($i = 9; $i < 18; $i++)
{
    $shop = $shops[$i];
}
($i=0;$i<9;$i++)的

{
$shop=$shops[$i];
}
对于($i=9;$i<18;$i++)
{
$shop=$shops[$i];
}
怎么样

foreach (array_slice($shops, 0, 9) as $shop) {
  ...
}


??

数组\u slice
就是你想要的。@Robin Knight你可以稍微努力几分钟前你问了一个类似的问题,你可以得到更多选择不确定你是否需要这个,但你也应该知道,最好用限制和越界问题限制你的查询结果:你怎么能对长度未知的数组这样做?1,25,122,而不仅仅是18?你可以很容易地检查计数()获取数组的大小。但是,如果您试图将其划分为大小相等且模chunksize!=0的块,则必须有逻辑来处理大小不同的最后一个块。但是,编写的数组\u slice调用中没有任何内容会中断。在我上面的示例中,每个块最多返回9个项。这是answer比其他的要复杂得多。如果和数组中的值无关,这可能会起作用
for ($i = 0; $i < 9; $i++)
{
    $shop = $shops[$i];
}

for ($i = 9; $i < 18; $i++)
{
    $shop = $shops[$i];
}
foreach (array_slice($shops, 0, 9) as $shop) {
  ...
}
foreach (array_slice($shops, 9, 9) as $shop) {
  ...
}
foreach (array_chunk($shops, 9) as $section) {
    // Do some logic on each section
    foreach ($section as $shop) {
        // Do some logic on each shop
    }
}