【发布时间】:2019-05-30 03:01:59
【问题描述】:
在分享代码之前,我将尝试解释我想要完成的工作,以便您理解。我正在尝试将多个值添加到多维数组。所以我有一个多维数组,想为多维数组中的每个数组添加多个值。目前,我可以通过创建另一个数组并将数组添加在一起来添加一个值。我查找了多个答案,但它们不适用于我的循环,我不明白如何让它们在我的应用程序中工作,其中一些仅通过添加一个值而不是多个值来解释它。
代码(PHP):
foreach ($csv as $row) {
$purchasePrice = str_replace(',', '.', $row[1]);
$object = new Product($purchasePrice, 10, 21);
$calculatedValues[]= $object->margePercentage;
}
foreach($calculatedValues as $key => $val){ //Adds the 2 array's together
$csv[$key][] = $val;
}
这段代码的输出是:
Array
(
[0] => Array
(
[0] => id
[1] => eur
[2] => title
[3] => marge
)
[1] => Array
(
[0] => 25200
[1] => 30,74
[2] => Humming teddy bear, verbetert kwaliteit van slaap
[3] => 19.261617724033
)
[2] => Array
(
[0] => 25201
[1] => 30,74
[2] => Humming teddy bear, verbetert kwaliteit van slaap, circa 45cm
[3] => 19.261617724033
)
[3] => Array
(
[0] => 25202
[1] => 26,06
[2] => Humming teddy bear, verbetert kwaliteit van slaap, circa 28x28cm
[3] => 18.567221241214
)
如您所见,只需 1 个值即可正常工作。 foreach 为每个$row[1](价格)创建一个新对象,并计算一个不相关但发生在产品对象中的百分比。然后我将值添加到$calculatedValues[]。
现在我想添加多个值,而不仅仅是一个 ($object->margePercentage)。我想要这样的输出:
Array
(
[0] => Array
(
[0] => id
[1] => eur
[2] => title
[3] => -2.6572
[4] => value2
)
[1] => Array
(
[0] => 25200
[1] => 30,74
[2] => Humming teddy bear, verbetert kwaliteit van slaap
[3] => 19.261617724033
[4] => value2
)
[2] => Array
(
[0] => 25201
[1] => 30,74
[2] => Humming teddy bear, verbetert kwaliteit van slaap, circa 45cm
[3] => 19.261617724033
[4] => value2
)
[3] => Array
(
[0] => 25202
[1] => 26,06
[2] => Humming teddy bear, verbetert kwaliteit van slaap, circa 28x28cm
[3] => 18.567221241214
[4] => value2
)
value2 在这种情况下只是为了显示我希望值在数组中的位置,value2 将是在产品对象中进行的另一个计算。
我希望我能找到解决这个问题的方法,因为我现在被困了很长一段时间,同时我将学习更多关于数组的知识。
如果对我的代码或解释有任何其他问题,请随时问我。
再次感谢您阅读我的问题。
干杯科迪
【问题讨论】:
-
您不使用对象是否有特定原因?多维数组有点过时了
-
@JoppeDeCuyper 因为从数组中我可以生成一个 csv 文件
-
@dns_nx 我已经检查过了,但我似乎觉得它与 Zeljika 一样没有帮助