Php 在设定范围内递增整数
如果我想循环一个数组,然后将它们用作循环增量计数器,我该如何做呢 例如,我在一个数组中最多存储5个值。我想循环它们,在forst循环中我想使用一个特定的值,然后在第二个循环中使用另一个特定的值 下面是伪代码,但如何将第二个数组引入到图片中?第一个范围将变为动态和空,或者最多有5个值。第二个问题将得到解决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
$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]
是的-没错-打字错误,谢谢。