Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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_Logic - Fatal编程技术网

Php 错误结果:两个变量之和

Php 错误结果:两个变量之和,php,logic,Php,Logic,我有一个简单的问题,但我还是解决不了 工作代码 当我将4更改为变量时,sum()的结果是字符串 结果变成一个字符串 结果是42,但应该是6。使用(int)不会更改我的结果 问题代码 在这种情况下,不需要类型转换。。。 请将正确的关联数组键放入其的“price”或的“price”而不仅仅是的price $sum_price = 4; $price_per_sum = $spo[$key] * $gpp['price']; $sum_price = ($sum_price + $price_per_

我有一个简单的问题,但我还是解决不了

工作代码 当我将
4
更改为变量时,
sum()
的结果是字符串

结果变成一个字符串 结果是42,但应该是6。使用
(int)
不会更改我的结果

问题代码

在这种情况下,不需要类型转换。。。 请将正确的关联数组键放入其
的“price”
的“price”
而不仅仅是
的price

$sum_price = 4;
$price_per_sum = $spo[$key] * $gpp['price'];
$sum_price = ($sum_price + $price_per_sum);
echo $sum_price;
你的例子是:

$spo[$key] = 1;
$gpp['price'] = 2;
$sum_price = 4;
$price_per_sum = $spo[$key] * $gpp['price'];
$sum_price = ($sum_price + $price_per_sum);
echo $sum_price;

# Get All Payment 
(int)$sum_price=0;
$sum_price_product = explode('|',$_SESSION['product']);
$spo = explode('|',$_SESSION['order']);
foreach($sum_price_product as $key=>$spp)
{
if($spp!='')
{
$get_product_price = $dbc->select("sh_product"," id = '{$spp}'","id");
$gpp = mysql_fetch_array($get_product_price['sql']);
(int)$price_per_sum = $spo[$key]*$gpp['price'];
$sum_price = $sum_price + $price_per_sum;
echo $sum_price;
}
}

这种情况下不需要浇铸。请检查以下代码并试用,它对我有用:

$spo[0] = 1;
$gpp['price'] = 2;
$sum_price=4;
$price_per_sum = $spo[0]*$gpp['price'];
$sum_price = $sum_price + $price_per_sum;
echo $sum_price;
在$spo[0]中,我考虑了单个值,但可以用循环构造中的$key替换“0”


请在这里查看我的工作代码:

这里什么是
$key
?那么什么是常量价格呢?如果你计算价格,用
(float)
而不是
(int)
,因为它们有小数点,对我来说,即使是
“4h”+“2”
输出
6
但是
“h4”+“2”
输出
2
我认为这是个错误,他编辑了这个问题。所以这个答案毫无意义anymore@user3243573现在可以用了吗?在编辑建议或这个答案之后?你能提供你的完整代码以及你在代码中使用的所有变量值吗?你希望从你在codepad.org/Zo9X2PY5上共享的代码中得到什么输出?结果数的总和这里是我看到的问题:我应该看哪个代码板,为什么?初始代码中的逻辑有什么问题?@Wolfpack:初始代码中没有任何错误,我只是从代码中删除了所有与铸造相关的内容,它就可以工作了
$sum_price = 4;
$price_per_sum = $spo[$key] * $gpp['price'];
$sum_price = ($sum_price + $price_per_sum);
echo $sum_price;
$spo[$key] = 1;
$gpp['price'] = 2;
$sum_price = 4;
$price_per_sum = $spo[$key] * $gpp['price'];
$sum_price = ($sum_price + $price_per_sum);
echo $sum_price;

# Get All Payment 
(int)$sum_price=0;
$sum_price_product = explode('|',$_SESSION['product']);
$spo = explode('|',$_SESSION['order']);
foreach($sum_price_product as $key=>$spp)
{
if($spp!='')
{
$get_product_price = $dbc->select("sh_product"," id = '{$spp}'","id");
$gpp = mysql_fetch_array($get_product_price['sql']);
(int)$price_per_sum = $spo[$key]*$gpp['price'];
$sum_price = $sum_price + $price_per_sum;
echo $sum_price;
}
}
$spo[0] = 1;
$gpp['price'] = 2;
$sum_price=4;
$price_per_sum = $spo[0]*$gpp['price'];
$sum_price = $sum_price + $price_per_sum;
echo $sum_price;