Php 在设定范围内递增整数

Php 在设定范围内递增整数,php,arrays,Php,Arrays,如果我想循环一个数组,然后将它们用作循环增量计数器,我该如何做呢 例如,我在一个数组中最多存储5个值。我想循环它们,在forst循环中我想使用一个特定的值,然后在第二个循环中使用另一个特定的值 下面是伪代码,但如何将第二个数组引入到图片中?第一个范围将变为动态和空,或者最多有5个值。第二个问题将得到解决 $array = array(2,6,8); // Dynamic $array2 = array(11,45,67,83,99); Fixed 5 values foreach ($arr

如果我想循环一个数组,然后将它们用作循环增量计数器,我该如何做呢

例如,我在一个数组中最多存储5个值。我想循环它们,在forst循环中我想使用一个特定的值,然后在第二个循环中使用另一个特定的值

下面是伪代码,但如何将第二个数组引入到图片中?第一个范围将变为动态和空,或者最多有5个值。第二个问题将得到解决

$array = array(2,6,8); // Dynamic

$array2 = array(11,45,67,83,99); Fixed 5 values

foreach ($array as $value) {
    // First loop, insert or use both 2 and 11 together
    // Second loop, insert or use both 6 and 45
    // Third loop, insert or use both 8 and 67
}

使用
$index=>$val

foreach ($array2 as $index => $value) {
    if ( isset($array[ $index ]) ) {
          echo $array[ $index ]; // 2, then 6, then 8
    }
    echo $value; // 11, then 45, then 67, then 83, then 99 
}
在这里看到它的作用:


如果要在到达第一个数组末尾后停止,请在第一个数组中循环:

foreach ($array as $index => $value) {
    echo $value; // 2, then 6, then 8
    echo $array2[ $index ]; // 11, then 45, then 67
}

请参见此处的操作:

使用
$index=>$val

foreach ($array2 as $index => $value) {
    if ( isset($array[ $index ]) ) {
          echo $array[ $index ]; // 2, then 6, then 8
    }
    echo $value; // 11, then 45, then 67, then 83, then 99 
}
在这里看到它的作用:


如果要在到达第一个数组末尾后停止,请在第一个数组中循环:

foreach ($array as $index => $value) {
    echo $value; // 2, then 6, then 8
    echo $array2[ $index ]; // 11, then 45, then 67
}

请参见此处的操作:

确定两个阵列的最小长度

然后将索引
i
从1循环到最小长度


现在,您可以使用两个数组的
i
-th元素来确定两个数组的最小长度

然后将索引
i
从1循环到最小长度


现在您可以使用两个数组的
i
-th元素

以下是我认为您需要的:

foreach($array as $value){
     for($x = $value; $array[$value]; $x++){
       //Do something here...
     }
}

以下是我认为您想要的:

foreach($array as $value){
     for($x = $value; $array[$value]; $x++){
       //Do something here...
     }
}

这里有一个干净简单的解决方案,它不使用无用的、沉重的非标准库:

$a = count($array);
$b = count($array2);
$x = ($a > $b) ? $b : $a;
for ($i = 0; $i < $x; $i++) {
    $array[$i]; // this will be 2 the first iteration, then 6, then 8.
    $array2[$i]; // this will be 11 the first iteration, then 45, then 67.
}
$a=计数($array);
$b=计数($array2);
$x=($a>$b)$b:$a;
对于($i=0;$i<$x;$i++){
$array[$i];//第一次迭代将是2,然后是6,然后是8。
$array2[$i];//第一次迭代将是11,然后是45,然后是67。
}

我们只需使用
$i
来标识
循环的主
中两个数组的相同位置,以便将它们一起使用。
循环的主
将迭代正确的次数,以便两个数组都不会使用未定义的索引(导致错误)。

这里有一个干净简单的解决方案,它不使用无用和繁重的非标准库:

$a = count($array);
$b = count($array2);
$x = ($a > $b) ? $b : $a;
for ($i = 0; $i < $x; $i++) {
    $array[$i]; // this will be 2 the first iteration, then 6, then 8.
    $array2[$i]; // this will be 11 the first iteration, then 45, then 67.
}
$a=计数($array);
$b=计数($array2);
$x=($a>$b)$b:$a;
对于($i=0;$i<$x;$i++){
$array[$i];//第一次迭代将是2,然后是6,然后是8。
$array2[$i];//第一次迭代将是11,然后是45,然后是67。
}
我们只需使用
$i
来标识
循环的主
中两个数组的相同位置,以便将它们一起使用。
循环的主
将迭代正确的次数,以便两个数组都不会使用未定义的索引(导致通知错误)。

您可以尝试此操作-

foreach ($array as $index => $value) {
      echo $array[ $index ]; // 2, then 6, then 8
      echo $array2[ $index ]; // 11, then 45, then 67

}
你可以试试这个-

foreach ($array as $index => $value) {
      echo $array[ $index ]; // 2, then 6, then 8
      echo $array2[ $index ]; // 11, then 45, then 67

}
您可以使用:

将打印:

Array ( [0] => 2 [1] => 11 ) 
Array ( [0] => 6 [1] => 45 ) 
Array ( [0] => 8 [1] => 67 ) 
Array ( [0] => [1] => 83 ) 
Array ( [0] => [1] => 99 ) 
如果希望它要求两个数组都有一个值,请将标志更改为

MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC
这将给

Array ( [0] => 2 [1] => 11 ) 
Array ( [0] => 6 [1] => 45 ) 
Array ( [0] => 8 [1] => 67 ) 
您可以使用:

将打印:

Array ( [0] => 2 [1] => 11 ) 
Array ( [0] => 6 [1] => 45 ) 
Array ( [0] => 8 [1] => 67 ) 
Array ( [0] => [1] => 83 ) 
Array ( [0] => [1] => 99 ) 
如果希望它要求两个数组都有一个值,请将标志更改为

MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC
这将给

Array ( [0] => 2 [1] => 11 ) 
Array ( [0] => 6 [1] => 45 ) 
Array ( [0] => 8 [1] => 67 ) 

您指的是2和11合在一起?
foreach($key=>$value的数组)
。然后
$array2[$key]
是的-没错-打字,谢谢。你指的是2和11合在一起?
foreach($array as$key=>$value)
。然后
$array2[$key]
是的-没错-打字错误,谢谢。