私はあなたが$array
を以下の持っている:phpの値に基づいて配列をグループ化するには?
Array
(
[0] => Array
(
[cd] => 1675
[amt_1] => 199.50
[fname] => Joe
[lname] => A
)
[1] => Array
(
[cd] => 1675
[amt_1] => 69.90
[fname] => Joe
[lname] => A
)
[2] => Array
(
[cd] => 1676
[amt_1] => 69.90
[fname] => Tracy
[lname] => A
)
[3] => Array
(
[cd] => 1676
[amt_1] => 199.50
[fname] => Tracy
[lname] => A
)
...
)
私がやろうとしていますが、彼らが一緒に、この場合には、fname
またはcd
によって私はのようなものを持っていますように、グループにある:
[0] => Array
(
[cd] => 1676
Array
(
[0] => Array
(
[amt_1] => 199.50
)
[1] => Array
(
[amt_1] => 69.90
)
[fname] => Joe
[lname] => A
)
[1] => Array
(
[cd] => 1676
Array
(
[0] => Array
(
[amt_1] => 199.50
)
[1] => Array
(
[amt_1] => 69.90
)
[fname] => Tracy
[lname] => A
)
........
Iそれを理解しているようには見えない。 これはmysqlではできません。私はPHPでそれを行う必要があります。
アイデア?
おかげ
編集:私は、結果の例が正しくフォーマットされていないことを知っているが、基本的に私はfname
と結果の残りの部分は配列に置く組み合わせたいです。
編集:
@Paulo H
は良いアイデアを持っています。
$groups = array();
foreach ($the_array as $item) {
$key = $item ['fname'];
if (! isset ($groups [$key])) {
$groups [$key] = array ('items' => array ($item), 'count' => 1);
} else {
$groups [$key] ['items'] [] = $item;
$groups [$key] ['count'] += 1;
}
}
何をも私はそれを組み合わせることではない一緒にグループにそれを行うための別の方法を見つけましたか? –
トレイシーも、私は例を与えたばかりです – Patrioticcow
あなたの希望する結果配列が不正です。 'array(0 => array( 'amt_1' => 199.50 ')、1 => array(' amt_1 '=> 69.90))'を保持するものは?そしてトレーシーはそれをどのように見ますか? – Shad