如果这个问题得到回答,我深表歉意。我确实找了一点,但找不到任何东西。
我需要从两个不同的数组中添加相同的值。我有...
$monData = array([mjones] => 50,[total] => 50)
$tueData = array([mjones] => 50,[total] => 50)
我需要将[总计]的总和放入电子邮件中,但是当我这样做
<html>'.$monData['total] + $tueData['total].'</html>
我收到有关非数字值的错误。我确信这很容易,而且我忽略了一些愚蠢的事情,但是如果不重建整个数组就无法找到任何答案,这将需要大量的工作。
编辑:
对不起,语法错误。错误不是数组,它只是对它们的值求和。我很抱歉,为什么会误导我。
答案 0 :(得分:4)
您的问题是由于operator precedence引起的,.
和+
运算符具有相同的优先级,因此您的表达式被解释为:
(('<html>' . $monData['total']) + $tueData['total']) . '</html>'
第一个操作产生一个字符串,然后您尝试将其添加到带有+
的数字中,这将给您带来非数值错误。使用您的特定值,就像尝试添加'<html>50' + 50
。
您需要将代码重写为
<html>'.($monData['total'] + $tueData['total']).'</html>
答案 1 :(得分:0)
尝试这个:
<html>'.(intVal($monData['total]) + intVal($tueData['total])).'</html>
答案 2 :(得分:0)
正确的代码:
$monData = array('mjones' => 50, 'total' => 50);
$tueData = array('mjones' => 50, 'total' => 50);
然后输入html:
<html><?php echo ($monData['total'] + $tueData['total']); ?></html>
或:
<?php echo '<html>'. ($monData['total'] + $tueData['total']) . '</html>'; ?>