Home > Article > Backend Development > PHP array merging and reorganization problem
I have an array like this
[1] => array(7) {
<code>["order_id"] => string(3) "117" ["job_id"] => string(2) "51" ["job_name"] => string(24) "商标注册" ["client_id"] => string(3) "108" ["user_name"] => string(9) "小明" ["users_id"] => string(1) "5" ["num"] => int(1)</code>
}
[2] => array(7) {
<code>["order_id"] => string(3) "118" ["job_id"] => string(1) "2" ["job_name"] => string(18) "外资公司注册" ["client_id"] => string(3) "103" ["user_name"] => string(10) "小红 " ["users_id"] => string(1) "2" ["num"] => int(1)</code>
}
[3] => array(7) {
<code>["order_id"] => string(3) "119" ["job_id"] => string(1) "2" ["job_name"] => string(18) "外资公司注册" ["client_id"] => string(3) "109" ["user_name"] => string(10) "小红 " ["users_id"] => string(1) "2" ["num"] => int(1)</code>
}
I need to merge the same job_name and user_name and add NUM into
[1] => array(7) {
<code>["order_id"] => string(3) "117" ["job_id"] => string(2) "51" ["job_name"] => string(24) "商标注册" ["client_id"] => string(3) "108" ["user_name"] => string(9) "小明" ["users_id"] => string(1) "5" ["num"] => int(1)</code>
}
[2] => array(7) {
<code>["order_id"] => string(3) "118" ["job_id"] => string(1) "2" ["job_name"] => string(18) "外资公司注册" ["client_id"] => string(3) "103" ["user_name"] => string(10) "小红 " ["users_id"] => string(1) "2" ["num"] => int(2)</code>
}
Please give me guidance from the masters. Thank you very much
I have an array like this
[1] => array(7) {
<code>["order_id"] => string(3) "117" ["job_id"] => string(2) "51" ["job_name"] => string(24) "商标注册" ["client_id"] => string(3) "108" ["user_name"] => string(9) "小明" ["users_id"] => string(1) "5" ["num"] => int(1)</code>
}
[2] => array(7) {
<code>["order_id"] => string(3) "118" ["job_id"] => string(1) "2" ["job_name"] => string(18) "外资公司注册" ["client_id"] => string(3) "103" ["user_name"] => string(10) "小红 " ["users_id"] => string(1) "2" ["num"] => int(1)</code>
}
[3] => array(7) {
<code>["order_id"] => string(3) "119" ["job_id"] => string(1) "2" ["job_name"] => string(18) "外资公司注册" ["client_id"] => string(3) "109" ["user_name"] => string(10) "小红 " ["users_id"] => string(1) "2" ["num"] => int(1)</code>
}
I need to merge the same job_name and user_name and add NUM into
[1] => array(7) {
<code>["order_id"] => string(3) "117" ["job_id"] => string(2) "51" ["job_name"] => string(24) "商标注册" ["client_id"] => string(3) "108" ["user_name"] => string(9) "小明" ["users_id"] => string(1) "5" ["num"] => int(1)</code>
}
[2] => array(7) {
<code>["order_id"] => string(3) "118" ["job_id"] => string(1) "2" ["job_name"] => string(18) "外资公司注册" ["client_id"] => string(3) "103" ["user_name"] => string(10) "小红 " ["users_id"] => string(1) "2" ["num"] => int(2)</code>
}
Please give me guidance from the masters. Thank you very much
Your algorithm is simple, you can write it yourself!
The reference is as follows, you can use it and modify it yourself
<code>$newArray = []; foreach($array as $key=>$val){ foreach($array as $k=>$v){ if($val['job_name'] == $v['job_name'] && $val['user_name'] == $v['user_name']){ $newArray = $val; $newArray['num'] = $val['num']+$v['num']; } } }</code>