PHP counts the total number of equal values in a two-dimensional array and combines them into a new array
For example, I would like to combine the elements of this array into a new array of m_id equal arrays: The following:
php? multidimensional arrays?
Share to:
------Solution--------------------
$arr =array (
Array
' sv_id ' =>1,
' m_id ' =>1,
' Sv_question1 ' =>20
),
Array
' sv_id ' =>2,
' m_id ' =>2,
' Sv_question1 ' =>10
),
Array
' sv_id ' =>3,
' m_id ' =>1,
' Sv_question1 ' =>20
),
Array
' sv_id ' =>4,
' m_id ' =>3,
' Sv_question1 ' =>20
),
Array
' sv_id ' =>5,
' m_id ' =>2,
' Sv_question1 ' =>10
)
);
Var_dump ($arr);
$ar =array ();
foreach ($arr as $v) {
if (Empty ($ar)
------Solution--------------------
!in_array ($v, $ar)) {
$ar [$v [' m_id ']][$v [' sv_id ']]= $v;
}else{
foreach ($ar as $ka = = $va) {
if ($ka = = $v [' m_id ']) {
$ar [$ka] [$v [' sv_id ']]= $v;
}
}
}
}
echo "";
Var_dump ($ar);
You copy run to see if you want the effect.
:
------Solution--------------------
Don't consider your extra items (I can't figment) $ar = Array (
Array (' sv_id ' = = 1, ' mid ' = + 1, ' sv_question1 ' = +),
Array (' s v_id ' = 2, ' mid ' = 2, ' sv_question1 ', ' + ',
Array (' sv_id ' = 3, ' mid ' = 1, ' sv_question1 ' = =
Array (' sv_id ' = 4, ' mid ' = + 3, ' sv_question1 ' = '),
Array (' sv_id ' = 5, ' mid ' = 2, ' Sv_question1 ' = +),
);
$res = Array ();
foreach ($ar as $item) {
$res [$item [' Mid ']][$item [' sv_id '] = $item;