Php 对每个数组元素执行计算

Php 对每个数组元素执行计算,php,Php,我有一个名为$addon\u array的数组,当我使用var\u dump时,它显示如下 array(10) { ["ext_token"]=> string(5) "floor" ["ext_token_child"]=> string(6) "carpet" ["concrete"]=> string(1) "4" ["cement"]=> string(1) "3" ["sand"]=> string

我有一个名为
$addon\u array
的数组,当我使用var\u dump时,它显示如下

array(10) { 
    ["ext_token"]=> string(5) "floor"  
    ["ext_token_child"]=> string(6) "carpet"  
    ["concrete"]=> string(1) "4"  
    ["cement"]=> string(1) "3"  
    ["sand"]=> string(1) "2"  
    ["wood_4_2"]=> string(1) "4"  
    ["wood_8_2"]=> string(1) "2"  
    [0]=> string(0) ""  
    ["brick"]=> string(3) "100"  
    ["carpet"]=> string(1) "3"
}
我在晚上大部分时间都在试图找到一种方法,在数组的所有不同元素中循环(除了
ext\u-token
ext\u-token\u-child
)并通过另一个名为
$quaty
的变量将每个数字相乘(这个变量可以是任何东西,无所谓)

然后,我希望它们与相应的
列名一起再次放入一个新数组(
水泥
等…)
我认为这只是在每个元素上执行foreach循环的简单例子,但我似乎无法将它们放回新的数组中

感谢您提供的所有帮助

这应该可以(使用):

这应该有效(使用):


在PHP中循环遍历数组非常简单,请使用foreach

$new = array();
foreach($addon_array as $key=>$value){

     if($key != "ext_token" OR $key != "ext_token_child"){
          $value = $value*$qty;
     }
     $new[$key] = $value;
}

在PHP中循环遍历数组非常简单,请使用foreach

$new = array();
foreach($addon_array as $key=>$value){

     if($key != "ext_token" OR $key != "ext_token_child"){
          $value = $value*$qty;
     }
     $new[$key] = $value;
}

这与mysql或ajax有什么关系?这与mysql或ajax有什么关系?好吧,看起来不错,但我要做的是,只将对其执行计算的元素添加到数组中,因此,例如ext_token和ext_toke_child,我不会添加到数组中,所以我会删除$new_数组吗[$key]=$col?另外,我刚刚注意到我的数组中有一个没有变量的空白元素,我怎么能不对此进行计算呢?Thanks@ArkenYAH,删除该行,然后反转if语句的含义,使其只运行在有效值上。对于空白的一个,检查空白:<代码> $Cal===' < /代码>。(注意三个相等-这非常重要)。或者使用
是数字($col)
并自动检查它是否是一个数字-然后你甚至不需要检查
ext\u token
,因为它不是一个数字。好的briliant,我刚刚检查过,效果很好,谢谢你的帮助Ok brilliant,看起来不错,不过我会做的,只是将对其执行计算的元素添加到数组中,因此,例如ext_token和ext_toke_child,我不会添加到数组中,所以我只会删除$new_数组[$key]=$col?另外,我刚刚注意到我的数组中有一个空白元素,没有变量,我怎么能不对它执行计算呢?Thanks@ArkenYAH,删除该行,然后反转if语句的含义,使其只运行在有效值上。对于空白的一个,检查空白:<代码> $Cal===' < /代码>。(注意三个相等-这非常重要)。或者使用
是数字($col)
并自动检查它是否是一个数字-然后你甚至不需要检查
ext\u token
,因为它不是一个数字。好的,briliant,我刚刚检查过,效果很好,谢谢你的帮助help@Arken这个版本有点好,因为数组循环是在内部运行的。但是对于一个新手来说,它比我的更难理解。@Arken这个版本因为数组循环在内部运行,所以sion有点好。但是对于新手来说,它比我的更难理解。
$qty = 10;
$newArray = array();
foreach($addon_array as $key => $val){
    if($key != 'ext_token' && $key != 'ext_token_child'){
        $newArray[$key]    = $qty*(int)$val;
    }
}

$newArray['ext_token'] = $addon_array['ext_token'];
$newArray['ext_token_child'] = $addon_array['ext_token_child'];

var_dump($newArray);
$new = array();
foreach($addon_array as $key=>$value){

     if($key != "ext_token" OR $key != "ext_token_child"){
          $value = $value*$qty;
     }
     $new[$key] = $value;
}