配列 a と b が与えられたとします。
//数组a:array ( 0 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2X15', 'part_count' => '32', ), 1 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2Z25', 'part_count' => '32', ),)//数组b:array ( 0 => array ( 'cust_no' => '310F6 1VA5A', 'total' => '48', ),)
//数组a:array ( 0 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2X15', 'part_count' => '32', ), 1 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2Z25', 'part_count' => '16', ),)
//数组a:array ( 0 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2X15', 'part_count' => '0', ), 1 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2Z25', 'part_count' => '16', ),)
この質問をしたことがありませんか?
同様の配列に対して多くの垂直 (列) 計算を実行したい場合は、行と列の変換を実行することをお勧めします。これにより、考え方が広がります
最悪の場合、計算が完了したら、行を実行するだけです。列を変換して元に戻します
この問題を解決したことがありますか?
同様の配列に対して多くの垂直 (列) 計算を実行したい場合は、行と列の変換を実行することをお勧めします。これにより、思考が開かれます
最悪の場合、計算が完了したら、列を実行するだけです。列変換して元に戻します
列-列変換は役に立ちません。しかし、簡単な例を教えてください
この質問をしたことがありませんか?
同様の配列に対して多くの垂直 (列) 計算を実行したい場合は、行と列の変換を実行することをお勧めします。これにより、思考の幅が広がります
最悪の場合、計算が完了した後、列間の変換を行って元に戻します
データベースの列変換の場合、クロス集計が含まれますか?このクロス集計は非常に面倒です。
データベースまたは PHP 配列のいずれかです。 1 次元キーと 2 次元キー
$a[row][column] を $a[column][row] に置き換えるだけです。
このように、$a[a some列] として使用できる 1 次元の配列で、足し算、引き算、交差と差分、累積に非常に便利です
以前投稿した覚えがあります
//数组a:$a = array ( 0 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2X15', 'part_count' => '32', ), 1 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2Z25', 'part_count' => '32', ),); //数组b: $b = array ( 0 => array ( 'cust_no' => '310F6 1VA5A', 'total' => '48', ),);foreach($b as $source) { $num = $source['total']; foreach($a as $i=>$dest) { if($num == 0) break; if($dest['cust_no'] != $source['cust_no']) continue; if($num >= $dest['part_count']) { $num -= $dest['part_count']; $res[] = $dest; $a[$i]['part_count'] = 0; }else { $dest['part_count'] = $num; $res[] = $dest; $a[$i]['part_count'] -= $num; $num = 0; } }}var_export($res);var_export($a);
array ( 0 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2X15', 'part_count' => '32', ), 1 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2Z25', 'part_count' => 16, ),)array ( 0 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2X15', 'part_count' => 0, ), 1 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2Z25', 'part_count' => 16, ),)
データベースではなく、php の配列です, 1次元と2次元のキーを入れ替えます
$a[Row][Column]は$a[Column][Row]に変換されます
このように、$a[Column]は1次元の配列として使用できます、足し算、引き算、交差と差分、累積に非常に便利です
前に投稿したことを覚えています
わかりました、ありがとう!私が試してみましょう。