while($row = mysql_fetch_assoc($sql1))
$sqldiag=$conn->query("select di_name from assi_diagnosis where di_id IN ($disp1$j)");
$i == "0";
$items = array();
while($rsdiag=mysql_fetch_array($sqldiag))
{
echo $rsdiag['di_name'].">>";
$items[$i] = $rsdiag['di_name'];
print_r($items);
}
$i++;
朋友我想在处理while循环时在数组中保存值。我的期望是当第一个循环条件被执行时$ item [0]应该包含第二个while循环迭代的所有结果集值 例如:(
$item[0] = {value1,value2,value3};
$item[1] = {value1,value2,value3};
$item[2] = {value1,value2,value3};
)
$ item [ 0 ]是第一次迭代的值 $ item [0]中的值是第二个while循环的值
答案 0 :(得分:1)
将$ i ++保持在循环内。
while($rsdiag=mysql_fetch_array($sqldiag))
{
echo $rsdiag['di_name'].">>";
$items[$i] = $rsdiag['di_name'];
$i++;// this line
}
print_r($items);// print here
答案 1 :(得分:0)
$i = 0;
$items = array();
while ($row = mysql_fetch_assoc($sql1)) {
$items[$i] = array();
$sqldiag = $conn->query("select di_name from assi_diagnosis where di_id IN ($disp1$j)");
while($rsdiag=mysql_fetch_array($sqldiag))
{
echo $rsdiag['di_name'].">>";
array_push($items[$i], $rsdiag['di_name']);
print_r($items);
}
$i = $i + 1;
}
print_r($items);
您的代码中存在一些错误。
while
循环没有开头或右边括号,$i
而不是==
将值分配给=
,$items[$i]
值而不是将其作为数组推送,使用array_push
,对于要分配的所有$rsdiag
值使用if, 答案 2 :(得分:0)
您的代码存在一些小问题,这些问题已在此处修复
<?php
while($row = mysql_fetch_assoc($sql1)) {
$sqldiag=$conn->query("select di_name from assi_diagnosis where di_id IN ($disp1$j)");
$items = array();
$i = 0;
while($rsdiag=mysql_fetch_array($sqldiag))
{
echo $rsdiag['di_name'].">>";
$items[$i] = $rsdiag['di_name'];
print_r($items);
$i++;
}
}
的问题:
$i == "0";
也应该是$i = 0;
while($row = mysql_fetch_assoc($sql1))
缺少{