php – 如何计算for循环数组中的多行?
我如何计算for循环数组中的多行?当新行输入
mysql数据库for循环计数新行为0时,两个新行输入mysql数据库进行循环计数两行为1?我不知道为什么循环转义第一行计数从第二行开始?而且我如何使用数组进行多行会话?
Function.php& Mysql查询 function get_wid($id){ $result=mysql_query("SELECT id AS wid FROM mywishlist where pid='$id'") or die("Id Problem"."<br/><br/>".mysql_error()); $results= array(); while($row=mysql_fetch_array($result)){ $results[] = $row['wid']; } return $results; } 页面函数我在哪里调用$wid = get_wid($id); $wid=get_wid($id); $max1= count($wid); for($i>0; $i<$max1; $i++) { $wid1=$wid [$i].'<br />'; $_SESSION['wid2']=$wid1; echo $_SESSION['wid2']; } 现在我正在使用此功能现在此功能没有回显或打印计数0值未显示但值在计数1后显示? function get_wid($id){ $result=mysql_query("SELECT id AS wid FROM mywishlist where pid='$id'") or die("Id Problem"."<br/><br/>".mysql_error()); $results= array(); $i=1; // add the new line while($row=mysql_fetch_array($result)){ $results[$i] = $row['wid']; $i++; } return $results; } $wid=get_wid($id); $max1= count($wid); for($i=1; $i<=$max1; $i++) // changes made here { $wid1=$wid [$i].'<br />'; $_SESSION['wid2']=$wid1; echo $_SESSION['wid2']; } 解决方法
正如你在“我正在调用的页面函数$wid = get_wid($id);”中所指出的那样:
for($i>0; $i<$max1; $i++) { $wid1=$wid [$i].'<br />'; $_SESSION['wid2']=$wid1; echo $_SESSION['wid2']; } $i> 0应该是$i = 0 我确定这只是一个错字,但你没有宣布迭代的开始,这就是为什么它只在第一个之后才开始处理.我个人会保持从0开始的所有标准. 只是看看我也可以告诉你这件作品: $results=array(); $i=1; // add the new line while($row=mysql_fetch_array($result)){ $results[$i] = $row['wid']; $i++; } 将会更好: $results=array(); while($row=mysql_fetch_array($result)){ $results[] = $row['wid']; } 这将使它更紧凑.另一个“整洁”的提示是向所有数组变量添加“_arr”,以便您知道何时引用字符串或数组,例如 while($row=mysql_fetch_array($result)){ $results_arr[] = $row['wid']; } 虽然我不知道你究竟想要实现什么,但我可以说你应该使用foreach循环$wid.如上所述,当迭代从0开始时,一切都变得更容易,因为你可以这样做: $wid=get_wid($id); foreach($wid as $newWid) // changes made here { $_SESSION['wid2']=$newWid.'<br />'; echo $_SESSION['wid2']; } 如果你想获得任何索引或特定值,你可以使用类似于array_keys,array_search等.最后就像使用函数“get_wid”一样,我会从函数中调用其他代码.这就是我要做的总计: function get_wid($id){ $result=mysql_query("SELECT id AS wid FROM mywishlist where pid='$id'") or die("Id Problem"."<br/><br/>".mysql_error()); $results_arr= array(); while($row=mysql_fetch_array($result)){ $results_arr[] = $row['wid']; } return $results_arr; } function sessionWid($id) { $wid_arr=get_wid($id); foreach($wid_arr as $wid) // changes made here { $_SESSION['wid2']=$wid.'<br />'; echo $_SESSION['wid2']; } // call sessionWid($id) where you want sessionWid($id); 我打算把它留在那里,但不知道你为什么要分页 – < br /> – 在你的会话中.你知道如果你想在每个数组值之间分页,你可以像这样输出: echo implode('<br />',get_wid($id)); 通过保持清洁,你可以从一个可以杀死一个男人的小虫子中节省时间!_g (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |