如何实现循环并在php中计算值

时间:2013-02-22 02:24:35

标签: php arrays loops

作为一个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 或其他循环方式进行此计算

3 个答案:

答案 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 );