添加PHP问题
下面我有很多用PHP创建的附加值和值 一切都很好!从这里可以看出: 除了-第一组包含“$totalcost”的PHP。我似乎不明白为什么我在下面创建的值不能用于创建总数 有什么意见吗添加PHP问题,php,Php,下面我有很多用PHP创建的附加值和值 一切都很好!从这里可以看出: 除了-第一组包含“$totalcost”的PHP。我似乎不明白为什么我在下面创建的值不能用于创建总数 有什么意见吗 <?php $totalcost = $totalcost2 + $totalcost3; $totalcost2 = $li444 + $tuitionTotal; $totalcost3 = $li4 + $li44; ?> <!-- WORKING OUT TOTAL TCE -->
<?php
$totalcost = $totalcost2 + $totalcost3;
$totalcost2 = $li444 + $tuitionTotal;
$totalcost3 = $li4 + $li44;
?>
<!-- WORKING OUT TOTAL TCE -->
<p>
<b class="TCE">
<?php echo $totalcost; ?>
<?php echo array_sum($a); ?>
</b>
</p>
<!-- END OF WORKING OUT TOTAL TCE -->
<br /><br />
<h2>
Below is a a breakdown of the total cost of Education:
</h2>
<?php
$li2 = get_field('average_drinks_spenditure_per_night');
$li3 = ($li2 * 28) * 2.1;
$li4 = $li3 * 3;
?>
<div class="TCE">
<br />
<h2>Average spent on socialising</h2>
<ul class="TCE">
<li><span>Average drink cost</span> £<?php echo the_field('average_drink_price'); ?></li>
<li><span>Average drinks spenditure per night</span> £<?php echo $li2; ?></li>
<li><span>Average drinks spenditure for the year</span> £<?php echo $li3;?><!-- JAVA BIT --></li>
<li><span>Average drinks spenditure for 3 years</span> £<?php echo $li4;?><!-- JAVA BIT --></li>
</ul>
<?php
$li22 = (get_field('average_housing_costs_per_week') * 4 );
$li33 = $li22 * 12;
$li44 = $li33 * 3;
?>
<h2>Average spent on living costs</h2>
<ul class="TCE">
<li><span>Housing per week</span> £<?php echo the_field('average_housing_costs_per_week'); ?></li>
<li><span>Housing per month</span> £<?php echo $li22; ?></li>
<li><span>Housing per year</span> £<?php echo $li33; ?></li>
<li><span>Housing for 3 years</span> £<?php echo $li44; ?></li>
</ul>
<div class="clear"></div>
<p><br /></p>
<?php
$li222 = (get_field('average_shopping_trip_price') * 2.25 );
$li333 = $li222 * 12;
$li444 = $li333 * 3;
?>
<h2>Average spent on food shopping</h2>
<ul class="TCE">
<li><span>Average shopping trip </span> £<?php echo the_field('average_shopping_trip_price'); ?></li>
<li><span>Average shopping for the month</span> £<?php echo $li222; ?></li>
<li><span>Average shopping for the year</span> £<?php echo $li333; ?></li>
<li><span>Average shopping for 3 years</span> £<?php echo $li444; ?></li>
</ul>
<?php
$tuitionClass = (get_field('tuition_fees') /28 );
$tuitionTotal = (get_field('tuition_fees') * 3 );
?>
<h2>Average spent on tuition</h2>
<ul class="TCE">
<li><span>Price per Week</span> £<?php echo $tuitionClass; ?></li>
<li><span>Average tuition fee</span> £<?php echo the_field('tuition_fees'); ?></li>
<li><span>Average tuition fee for 3 years</span> £<?php echo $tuitionTotal; ?></li>
</ul>
以下是教育总成本的细目:
平均社交花费
- 平均酒费
- 每晚的平均酒水消费
- 全年平均饮料消费
- 3年的平均饮料消费量
平均生活费用
- 每周住房
- 每月住房
- 每年住房
- 3年的住房
购买食品的平均花费
- 平均购物行程
- 当月的平均购物量
- 全年平均购物量
- 平均购物时间为3年
平均学费
- 每周价格
- 平均学费
- 3年的平均学费
从上到下执行PHP脚本。在定义变量值之前,不能只使用变量进行计算。我不确定我是否理解您的问题。在计算$totalcost2(糟糕的名称,顺便说一下!)和$totalcost3之前,您似乎正在尝试打印$totalcost值。。。这些仅设置在脚本的底部,因此仅在该点可用。如果您希望在页面顶部打印这些值,那么您需要将所有html缓冲到一个字符串中(而不是将其转储到客户端),一旦获得值,就转储它们,然后在页面的其余部分转储捕获的html字符串。这有意义吗?是否解决了您的问题???在定义整体之后,您正在定义组件
应该是这样的:
$totalcost2 = $li444 + $tuitionTotal;
$totalcost3 = $li4 + $li44;
$totalcost = $totalcost2 + $totalcost3;
//This line should only come after $totalcost2 and 3 were defined!
您可以在它们具有值之前添加它们
<?php
$totalcost2 = $li444 + $tuitionTotal;
$totalcost3 = $li4 + $li44;
$totalcost = $totalcost2 + $totalcost3;
?>
据我所知,PHP解释器按程序逐行遍历PHP文件,并在解释器解析变量时将其分配到内存中。由于您在尝试将它们相加时尚未定义
$totalcost2
和$totalcost3
,因此PHP解释器没有引用任何值,无法相加
如果你把这个初始代码块放在页面的底部,我想它会像你期望的那样工作。最终解决了它,因为我以前似乎不知道定义总计是不可能的,一些奇怪的原因我认为它会把它传回来,吸取了教训
<?php
// AVERAGE DRINK COSTS
$li2 = get_field('average_drinks_spenditure_per_night');
$li3 = ($li2 * 28) * 2.1;
$li4 = $li3 * 3;
// HOUSING COSTS
$li22 = (get_field('average_housing_costs_per_week') * 4 );
$li33 = $li22 * 12;
$li44 = $li33 * 3;
// SHOPPING COSTS
$li222 = (get_field('average_shopping_trip_price') * 2.25 );
$li333 = $li222 * 12;
$li444 = $li333 * 3;
// TUITION FEES
$tuitionClass = (get_field('tuition_fees') /28 );
$tuitionTotal = (get_field('tuition_fees') * 3 );
// PHP TCE
$totalcost2 = $li444 + $tuitionTotal;
$totalcost3 = $li4 + $li44;
$totalcost = $totalcost2 + $totalcost3;
?>
这是我在最后使用的,只是把它放在任何需要回显的值之前。如果我理解你的问题是,你应该在给它们一个值之后,而不是之前,添加2个总成本。但是他需要将其移动到脚本的底部,因为$li444是在主体中计算的。我猜他希望totalcost成为一个标题,所以将他的页面结构封装到字符串中,然后计算总数,打印总数,然后将缓冲的页面打印到字符串中,是实现他想要的页面的方法。感谢分享答案,很高兴你修复了!