求助:php自动创建变量名

艾派德迷你2 2009-08-26 09:55:24
各位大哥...小弟初学php...
数组是看的头很大...
现在要实现一个想法..

代码:

$i=1;
while ($i<=$current_mouth)
{

$sqlbb="select sum(r_sum) as b_sum from record where r_year=$current_year and ( r_month=$i and b_id=$b_id)";
$rs1=@mysql_query($sqlbb) or die("SQL14 error!");
if ($rw1=mysql_fetch_array($rs1)) {
if (isset($rw1[0])) {
$b_sum=$rw1[0];
}
else
{
$b_sum=0;
}
unset($sqlbb);
unset($rs1);
unset($rw1);

$b_sum_.$i=$b_sum;
unset($b_sum);
$i++;
}

现在我想取去后面那个$b_sum_.$i值.

$a=1;
while ($a<=$current_mouth)
{
?>
<td><?php echo $b_sum_.$i; ?></td>
<?php

}

以前用asp是可以实现这种的..
不知道php该怎么处理
...全文
111 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
艾派德迷你2 2009-08-26
  • 打赏
  • 举报
回复
楼上的..
知道0是不能做分母..
开始用isset..
貌似不能cover..
后面直接用不等于0
问题解决...
foolbirdflyfirst 2009-08-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 leungigi 的回复:]
谢谢啦..
刚才那个问题解决掉咯

还有一个问题

if (isset(${"b_sum_".$j})) {
${"b_cash_rate_".$j}=round(${"b_cash_".$j}/${"b_sum_".$j},4)*100;
${"b_creat_rate_".$j}=round(${"b_creat_".$j}/${"b_sum_".$j},4)*100;
}
else {
${"b_cash_rate_".$j}=0;
${"b_creat_rate_".$j}=0;
}
提示Warning: Division by zero
[/Quote]
这个是纯粹的数学问题,,0是不能做分母的。


#12/0;//Warning: Division by zero
@12/0;//可以屏蔽warning错误信息,但是最好自己判定下分母是否为零,不为零才进行运算。
艾派德迷你2 2009-08-26
  • 打赏
  • 举报
回复
问题已经解决
if (${"b_sum_".$j}!=0) {
${"b_cash_rate_".$j}=round(${"b_cash_".$j}/${"b_sum_".$j},4)*100;
${"b_creat_rate_".$j}=round(${"b_creat_".$j}/${"b_sum_".$j},4)*100;
}
else {
${"b_cash_rate_".$j}=0;
${"b_creat_rate_".$j}=0;
}
用直接不等于就搞定
不用isset.
bobo_包子 2009-08-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 leungigi 的回复:]
谢谢啦..
刚才那个问题解决掉咯

还有一个问题

if (isset(${"b_sum_".$j})) {
${"b_cash_rate_".$j}=round(${"b_cash_".$j}/${"b_sum_".$j},4)*100;
${"b_creat_rate_".$j}=round(${"b_creat_".$j}/${"b_sum_".$j},4)*100;
}
else {
${"b_cash_rate_".$j}=0;
${"b_creat_rate_".$j}=0;
}
提示Warning: Division by zero
[/Quote]
艾派德迷你2 2009-08-26
  • 打赏
  • 举报
回复
谢谢啦..
刚才那个问题解决掉咯

还有一个问题

if (isset(${"b_sum_".$j})) {
${"b_cash_rate_".$j}=round(${"b_cash_".$j}/${"b_sum_".$j},4)*100;
${"b_creat_rate_".$j}=round(${"b_creat_".$j}/${"b_sum_".$j},4)*100;
}
else {
${"b_cash_rate_".$j}=0;
${"b_creat_rate_".$j}=0;
}
提示Warning: Division by zero
艾派德迷你2 2009-08-26
  • 打赏
  • 举报
回复
意思就是用{}起来对不对..
试试看先
foolbirdflyfirst 2009-08-26
  • 打赏
  • 举报
回复
for($i = 0;$i<3;$i++)
{
${"b_sum_".$i} = 'hello world.no.'.$i;
}
echo $b_sum_1;//hello world.no.1
echo "<br/>";
$c = 2;
echo ${"b_sum_".$c};//hello world.no.2

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧