symfony php查询结果相乘
我是symfony的新手,我正在尝试构建一个如下所示的阵列: ['10'=>100,'100'=>40,'200'=>10,'reis'=>1] 数据显然来自我的数据库,因此我的查询如下:symfony php查询结果相乘,php,arrays,symfony,Php,Arrays,Symfony,我是symfony的新手,我正在尝试构建一个如下所示的阵列: ['10'=>100,'100'=>40,'200'=>10,'reis'=>1] 数据显然来自我的数据库,因此我的查询如下: $chances = $conn->fetchAll("SELECT * FROM prices"); 这将生成一个包含以下对象的数组: [{"id":"1","price":"10","amount":"1000","chance":"0,5"}, {"id":"2","price":"100","
$chances = $conn->fetchAll("SELECT * FROM prices");
这将生成一个包含以下对象的数组:
[{"id":"1","price":"10","amount":"1000","chance":"0,5"},
{"id":"2","price":"100","amount":"100","chance":"0,2"},
{"id":"3","price":"200","amount":"10","chance":"0,05"},
{"id":"4","price":"reis","amount":"1","chance":"0,005"},
{"id":"5","price":"noprice","amount":"0","chance":"0,245"}]
现在我需要将几率乘以200并填充我的数组,我这样做:
foreach ($chances as $chance){
$p = $chance['price'];
$c = (200 * $chance['chance']);
$chancesArr[] = array($p => $c);
}
但由于某些原因,我得到的结果总是0
有人知道为什么乘法不起作用吗
我还有一个小问题,$chancesArr是一个多维数组,但它应该是一个带键的数组,因为$p和值是$c
我的结果是:
[{“10”:0},{“100”:0},{“200”:0},{“reis”:0}]
我的目标是:
['10'=>100,'100'=>40,'200'=>10,'reis'=>1]
任何帮助都将不胜感激
非常感谢 我认为这是因为数字上的逗号,试着用点来代替逗号
$chances = '[{"id":"1","price":"10","amount":"1000","chance":"0,5"},
{"id":"2","price":"100","amount":"100","chance":"0,2"},
{"id":"3","price":"200","amount":"10","chance":"0,05"},
{"id":"4","price":"reis","amount":"1","chance":"0,005"},
{"id":"5","price":"noprice","amount":"0","chance":"0,245"}]';
$chances = json_decode($chances, true);
foreach ($chances as $chance){
$p = $chance['price'];
$c = 200 * str_replace(',', '.', $chance['chance']);
$chancesArr[$p] = $c;
}
echo json_encode($chancesArr);
输出:
{“10”:100,“100”:40,“200”:10,“reis”:1,“noprice”:49}
我认为这是因为数字中的逗号,尝试用点替换逗号
$chances = '[{"id":"1","price":"10","amount":"1000","chance":"0,5"},
{"id":"2","price":"100","amount":"100","chance":"0,2"},
{"id":"3","price":"200","amount":"10","chance":"0,05"},
{"id":"4","price":"reis","amount":"1","chance":"0,005"},
{"id":"5","price":"noprice","amount":"0","chance":"0,245"}]';
$chances = json_decode($chances, true);
foreach ($chances as $chance){
$p = $chance['price'];
$c = 200 * str_replace(',', '.', $chance['chance']);
$chancesArr[$p] = $c;
}
echo json_encode($chancesArr);
输出:
{10:100,100:40,200:10,reis:1,noprice:49}
您说得对,先生!如果我的结果不是一个包含对象的数组,你知道我如何生成1个数组吗?嘿,我知道你在做什么,但由于某种原因,我得到了0 1 2 reis而不是10 100 200 reis。这很奇怪,我已经输入了完整的代码,我的服务器上的一切都很好。我很抱歉,我只是有点愚蠢,做错了什么!对不起,你说得对,先生!如果我的结果不是一个包含对象的数组,你知道我如何生成1个数组吗?嘿,我知道你在做什么,但由于某种原因,我得到了0 1 2 reis而不是10 100 200 reis。这很奇怪,我已经输入了完整的代码,我的服务器上的一切都很好。我很抱歉,我只是有点愚蠢,做错了什么!我道歉