Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
添加PHP问题_Php - Fatal编程技术网

添加PHP问题

添加PHP问题,php,Php,下面我有很多用PHP创建的附加值和值 一切都很好!从这里可以看出: 除了-第一组包含“$totalcost”的PHP。我似乎不明白为什么我在下面创建的值不能用于创建总数 有什么意见吗 <?php $totalcost = $totalcost2 + $totalcost3; $totalcost2 = $li444 + $tuitionTotal; $totalcost3 = $li4 + $li44; ?> <!-- WORKING OUT TOTAL TCE -->

下面我有很多用PHP创建的附加值和值

一切都很好!从这里可以看出:

除了-第一组包含“$totalcost”的PHP。我似乎不明白为什么我在下面创建的值不能用于创建总数

有什么意见吗

<?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>&nbsp;&nbsp;£<?php echo the_field('average_drink_price'); ?></li>
<li><span>Average drinks spenditure per night</span>&nbsp;&nbsp;£<?php echo $li2; ?></li>
<li><span>Average drinks spenditure for the year</span>&nbsp;&nbsp;£<?php echo $li3;?><!-- JAVA BIT --></li>
<li><span>Average drinks spenditure for 3 years</span>&nbsp;&nbsp;£<?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>&nbsp;&nbsp;£<?php echo the_field('average_housing_costs_per_week'); ?></li>
<li><span>Housing per month</span>&nbsp;&nbsp;£<?php echo $li22; ?></li>
<li><span>Housing per year</span>&nbsp;&nbsp;£<?php echo $li33; ?></li>
<li><span>Housing for 3 years</span>&nbsp;&nbsp;£<?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>&nbsp;&nbsp;£<?php echo the_field('average_shopping_trip_price'); ?></li>
<li><span>Average shopping for the month</span>&nbsp;&nbsp;£<?php echo $li222; ?></li>
<li><span>Average shopping for the year</span>&nbsp;&nbsp;£<?php echo $li333; ?></li>
<li><span>Average shopping for 3 years</span>&nbsp;&nbsp;£<?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>&nbsp;&nbsp;£<?php echo $tuitionClass; ?></li>
<li><span>Average tuition fee</span>&nbsp;&nbsp;£<?php echo the_field('tuition_fees'); ?></li>
<li><span>Average tuition fee for 3 years</span>&nbsp;&nbsp;£<?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成为一个标题,所以将他的页面结构封装到字符串中,然后计算总数,打印总数,然后将缓冲的页面打印到字符串中,是实现他想要的页面的方法。感谢分享答案,很高兴你修复了!