私はこれに少し困惑しています。例を挙げて質問するのが一番だと思います。だから私はこの配列を持っています:
$RN[0]['Brand'] = "AC"
['Number'] = "1234"
['Note'] = "12 Volt"
$RN[1]['Brand'] = "AC"
['Number'] = "1235"
['Note'] = "12 Volt"
$RN[2]['Brand'] = "Ford"
['Number'] = "7722"
['Note'] = "12 Volt"
$RN[3]['Brand'] = "AC"
['Number'] = "1236"
['Note'] = ""
そして、私がやりたいのは、Note AND Brandに基づいて要素を組み合わせることです。したがって、グループ化される資格を得るには、両方が同一である必要があります。したがって、出力は次のようになります。
$RN[0]['Brand'] = "AC"
['Numbers'] = array( "1234", "1235" )
['Note'] = "12 Volt"
$RN[1]['Brand'] = "Ford"
['Numbers'] = array( "7722" )
['Note'] = "12 Volt"
$RN[2]['Brand'] = "AC"
['Numbers'] = array( "1236" )
['Note'] = ""
私を正しい方向に押してくれてありがとうDaneSoul。興味のある人のために、これが最終的なコードです-私は彼のコードから始めて、私の状況でそれが機能するようにいくつかの変更を加えました:
$RN_new = array();
$i = 0;
$gotonext = 0;
foreach( $RN as $R ) {
if ( isset( $RN_new ) && count( $RN_new ) > 0 ) {
foreach( $RN_new as $key=>$RN_test ) {
if ( $R['Brand'] == $RN_test['Brand'] && $R['Note'] == $RN_test['Note'] ) {
$RN_new[$key]['Numbers'][] = $R['Number'];
$gotonext = 1;
}
}
}
if ( $gotonext == 0 ) {
$RN_new[$i]['Brand'] = $R['Brand'];
$RN_new[$i]['Numbers'][] = $R['Number'];
$RN_new[$i]['Note'] = $R['Note'];
}
$i++;
$gotonext = 0;
}