Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 仅获取数组的值并使其成为新的$key=>$另一个数组中的值_Php_Arrays - Fatal编程技术网

Php 仅获取数组的值并使其成为新的$key=>$另一个数组中的值

Php 仅获取数组的值并使其成为新的$key=>$另一个数组中的值,php,arrays,Php,Arrays,我有这样一个循环的数组结果 Array ( [0] => Array ( [value] => JKTOF [amount] => 3 ) [1] => Array ( [value] => JKTVZ [amount] => 1 ) [2] => Array ( [value] => JKTOF [amount] => 5 ) [3] => Array ( [value] => JKTDO [amount] => 1 )

我有这样一个循环的数组结果

Array ( [0] => Array ( [value] => JKTOF [amount] => 3 ) [1] => Array ( [value] => JKTVZ [amount] => 1 ) [2] => Array ( [value] => JKTOF [amount] => 5 ) [3] => Array ( [value] => JKTDO [amount] => 1 ) [4] => Array ( [value] => JKTOF [amount] => 6 ) [5] => Array ( [value] => JKTWF [amount] => 1 ) [6] => Array ( [value] => JKTML [amount] => 1 ) [7] => Array ( [value] => JKTOG [amount] => 1 ) [8] => Array ( [value] => JKTOF [amount] => 1 ) [9] => Array ( [value] => JKTDO [amount] => 1 ) [10] => Array ( [value] => JKTOC [amount] => 1 ) [11] => Array ( [value] => JKTCC [amount] => 1 ) [12] => Array ( [value] => JKTOC [amount] => 2 ) [13] => Array ( [value] => JKTCH [amount] => 1 ) [14] => Array ( [value] => JKTOC [amount] => 3 ) [15] => Array ( [value] => TKGKO [amount] => 1 ) [16] => Array ( [value] => JKTOC [amount] => 6 ) [17] => Array ( [value] => DPSOC [amount] => 1 ) [18] => Array ( [value] => JKTOC [amount] => 7 ) [19] => Array ( [value] => MELKK [amount] => 1 ) [20] => Array ( [value] => JKTOC [amount] => 12 ) [21] => Array ( [value] => DPSOC [amount] => 1 ) [22] => Array ( [value] => JKTOC [amount] => 9 ) [23] => Array ( [value] => JKTVZ [amount] => 1 ) [24] => Array ( [value] => JKTOC [amount] => 5 ) [25] => Array ( [value] => JKTOG [amount] => 1 ) [26] => Array ( [value] => JKTDB [amount] => 1 ) [27] => Array ( [value] => MESTS [amount] => 1 ) [28] => Array ( [value] => CGKGF [amount] => 1 ) [29] => Array ( [value] => JKTFS [amount] => 1 ) [30] => Array ( [value] => CGKGF [amount] => 1 ) [31] => Array ( [value] => JKTGF [amount] => 1 ) [32] => Array ( [value] => CGKGF [amount] => 1 ) [33] => Array ( [value] => JKTOG [amount] => 1 ) [34] => Array ( [value] => CGKGF [amount] => 1 ) [35] => Array ( [value] => JKTGF [amount] => 2 ) [36] => Array ( [value] => JKTCG [amount] => 1 ) [37] => Array ( [value] => JKTDI [amount] => 1 ) [38] => Array ( [value] => JKTMQ [amount] => 1 ) [39] => Array ( [value] => JKTOG [amount] => 1 ) [40] => Array ( [value] => JKTGF [amount] => 1 ) )
我希望我的新阵列

Array ( JKTOF => 3 JKTVZ =>1 ....)
我试着用

$simple_unit =[];
        foreach ($unit_result as $row){
            $simple_unit[] = $row[0];
        }
但是没有像我预料的那样起作用。我想我还不知道如何循环数组


如果您能给出关于循环数组的简短解释,我将不胜感激。

您需要构建关联数组。代码中缺少该部分。在数组中循环,使用
作为键,使用
金额
作为值,然后推入另一个数组

$simple_unit =[];
foreach ($unit_result as $row){
    $key = $row["value"];
    $val = $row["amount"];
    $simple_unit[$key] = $val;
}
print_r($simple_unit); // Array ( [JKTOF] => 3 [JKTVZ] =>1 ....)
编辑:如果需要对匹配键的值求和:

$simple_unit =[];
foreach ($unit_result as $row){
    $key = $row["value"];
    $val = $row["amount"];
    if(empty($simple_unit[$key])){
       $simple_unit[$key] = 0;
    }
    $simple_unit[$key] += $val;
}
print_r($simple_unit); // Array ( [JKTOF] => 15 [JKTVZ] =>12 ....)

谢谢您。。像我期望的那样工作得很好。