我有一个多维数组,我该如何使用它?我想在for
循环中使用每个单独的数组。
我想要实现的是能够将每个部分都放在我的数据库中 在db no中输入0 - > 1和4 在db no中输入1 - > 5和6 在db no中输入2 - > 1和4以及5和6
我有这段代码:
<?php
print_r($calculatie_id);
for ($i=0; $i<=3; $i++)
{
?>
<tr>
<td>
<?php
foreach ($calculatie_id[$i] as $value)
{
echo $value;
}
?>
print_r($calculatie_id); gives
Array ( [0] => Array ( [0] => 4 [1] => 6 ) [1] => Array ( [0] => 1 [1] => 5 ) [2] => Array ( [0] => 5 [1] => 6 ) [3] => )
但是当使用foreach
时,我只得到46
一些额外信息:
此数组由for循环中的多重选择创建。欢迎任何其他建议。
for ($i=0; $i<=$aantal_regels_corr; $i++)
{
?>
<tr>
<td>
<?php
// maak select name
$calculatie_id = 'calculatie_id'.$i;
// rest van formulier
if($error_vergeten[$i] == "ja"){ $error_omschr = $error_omschr_vergeten[$i]; include('includes/input_error.php'); } ?> <textarea rows="7" cols="80" name="omschrijving[]" /><?php echo $omschrijving[$i]; ?></textarea>
</td>
<td colspan="2">
<select multiple="multiple" width="50" size="7" name="<?php echo $calculatie_id ?>[]" style="width: 150px">
<?php
$sql_calc = "select id, naam, actief from sp_calculatie WHERE (offerte_id = '".$row['off_offerte']."' OR offerte_id = '".$offerte_id."') AND actief = 'ja' ORDER BY id ASC";
$res_calc = mysql_query($sql_calc,$con);
while ($row_calc = mysql_fetch_assoc($res_calc)){
?>
<option value="<?php echo $row_calc["id"] ?>"><?php if (empty($row_calc["naam"])) { echo $row_calc["id"]; } else { echo $row_calc["naam"]; } ?></option>
<?php } ?></select>
</td>
</tr>
<?php } ?>
答案 0 :(得分:6)
foreach($calculatie_id as $inner_arr)
foreach($inner_arr as $value)
echo $value;
编辑:您应该尝试学习并了解这里发生了什么。然后,您可以使用我编写的代码执行任何操作。你说:给出14561456我想使用$calculatie_id0=14 $calculatie_id1=56 $calculatie_id2=1456
等然后,你将不得不这样做:
foreach($calculatie_id as $index => $inner_arr){
echo "$calculatie_id$index = "
foreach($inner_arr as $value)
echo $value;
echo "<br/>";
}
或者你可以创建你想要的变量(这对我没有任何意义):
foreach($calculatie_id as $index => $inner_arr){
${"calculatie_id$index"} = '';
foreach($inner_arr as $value)
${"calculatie_id$index"} .= $value;
echo ${"calculatie_id$index"}."<br/>";
}
答案 1 :(得分:3)
基本上你拥有的是这样一个数组:
array(
array(
data
)
)
您只需要:
foreach($yourArray as $innerArray)
foreach($innerArray as $value)
echo $value;
这将输出你想要的。我不是特别确定你为什么要做一个for()循环而不是foreach。
答案 2 :(得分:0)
你需要嵌套你的foreach
循环(所以你在循环中有一个循环)
答案 3 :(得分:0)
你可以尝试:
foreach ($calculatie_id as $key => $value) {
echo "$calculatie_id:".$key;
for ($i=0;$i<=count($value);$i++) {
echo $value[$i];
}
}
答案 4 :(得分:0)
我不明白为什么原始代码段不起作用。可能是$calculatie_id[3]
不是数组吗?
我试过了:
<?php
$calculatie_id = array ( array(4,6), array(1,5), array(5,6), '' );
for ($i=0; $i<=3; $i++)
{
if(!is_array($calculatie_id[$i]))
continue;
echo "$i: ";
foreach ($calculatie_id[$i] as $value)
{
echo $value;
}
echo '<br/>';
}
打印出来:
0:46
1:15
2:56
答案 5 :(得分:0)
非常感谢帮助我解决这个问题,但我尝试实施的所有示例都不起作用。 我已经尝试了这个剧本超过2周了。我似乎走错了路。
我已将我的代码放在网上www.pws.nl/downloads/sp_offerte_add.rar。它必须比我现在在代码中编写的内容更容易。