作为一个php初学者,我遇到了计算php中数组元素的问题
$effect=array("a"=>array(1,2),"b"=>array(1,2),"c"=>array(1,2));
我只想把结果作为这个
$effect['a'][0]=$effect['a'][0]/$effect['a'][1];
$effect['b'][0]=$effect['b'][0]/$effect['b'][1];
$effect['c'][0]=$effect['c'][0]/$effect['c'][1];
除了逐个执行此操作外,如何使用 foreach 或其他循环方式进行此计算
答案 0 :(得分:1)
你的数组语法有点偏。它应该是$effect['a'][0]
。
循环很简单,foreach
是正确的想法
您可以使用它来迭代所有字母:
foreach ($effect as $letter => $numbers) {
...
}
然后将分配/分割线放入循环中,将'a'
和'b'
等替换为$letter
变量。
答案 1 :(得分:0)
你需要这样的东西吗?
foreach ($effect as $key => $val)
{
$results[$key] = $val[0] / $val[1];
}
print_r($results);
答案 2 :(得分:0)
PHP中一个反直觉的事情是,默认情况下数组是按值传递的。你可以用&获取对数组的引用
$effects =array("a"=>array(1,2),"b"=>array(1,2),"c"=>array(1,2));
foreach ( $effects as $key => &$effect ) {
$effect[0] = $effect[0]/$effect[1];
unset($effect);
}
print_r( $effects );