【问题标题】:Loop Two Array in Single Loop在单循环中循环两个数组
【发布时间】:2017-02-20 05:31:28
【问题描述】:

我想使用动态名称标签和值进行表单输入, 有两个数组,如何让它在单个foreach中循环?

这是一个例子:

<?php 
$value = explode(',',$row['value']); 
$name = explode(',',$row['name']); 
for($x = 0; $x <= 10; $x++) { 
echo $name; 
echo $value; 
}
?>

$row 变量是一个数组, 这种方法对我不起作用。有什么建议吗?

【问题讨论】:

  • 没有价值代表怎么办?

标签: php arrays loops foreach


【解决方案1】:

为什么你不能在循环之前使用array_combine,试试这个..

<?php 
$value = explode(',',$row['value']); 
$name = explode(',',$row['name']);
$combainedArray = array_combine ( $name , $value );
foreach($combainedArray as $name => $value ) { 
          echo $name, '=>', $value; 
}
?>

如果你不把什么组合成这样..

<?php 
$value = explode(',',$row['value']); 
$name = explode(',',$row['name']); 
$count = count($value);
for($x = 0; $x < $count; $x++) { 
   echo $name[$x]; 
   echo $value[$x]; 
}
?>

【讨论】:

  • 如果使用foreach,可以使用参数吗?例如 $combineArray['name'] 和 $combineArray['value']
  • 不,这里你会得到 $name 作为 KEY 和 $value 作为数组的 VALUE 并循环直到得到数组的结尾。
【解决方案2】:

作为上述问题的解决方案,请尝试执行下面提到的代码sn-p。

考虑到名称和值的表单字段数量相同

<?php 
$value = explode(',',$row['value']); 
$name = explode(',',$row['name']); 
for($x = 0; $x <= 10; $x++) { 
echo $value[$x];
echo $name[$x];
}
?>

【讨论】:

    猜你喜欢
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 2014-05-14
    • 2014-04-15
    • 2020-05-27
    • 1970-01-01
    • 2020-10-11
    相关资源
    最近更新 更多