>  기사  >  백엔드 개발  >  PHP는 2차원 배열의 병합을 구현합니다.

PHP는 2차원 배열의 병합을 구현합니다.

WBOY
WBOY원래의
2016-10-17 09:30:051747검색

1. 이 문제는 주로 PH 연산 P 2차원 배열의 병합에 관한 것입니다.

2. 초기 배열은 다음과 같습니다.

<code>$course = array(
    array(
        'course_name' => '高等数学',
        'major_name' => '计算机专业',
        'school_name' => '某A高校'
    ),
    array(
        'course_name' => '高等数学',
        'major_name' => '物理专业',
        'school_name' => '某A高校'
     ),
     array(
        'course_name' => '高等数学',
        'major_name' => '日语专业',
        'school_name' => '某A高校'
     ),
      array(
        'course_name' => '马克思概论',
        'major_name' => '计算机专业',
        'school_name' => '某B高校'
     )
)</code>
3. 다음 배열을 얻고 싶습니다.

<code>$course = array(
    array(
        'course_name' => '高等数学',
        'major_name' => array('计算机专业','物理专业','日语专业'),
        'school_name' => '某A高校'
    ),
    array(
        'course_name' => '马克思概论',
        'major_name' => array('计算机专业'),
        'school_name' => '某B高校'
     )
)</code>
4. Xiaobai가 처음으로 질문을 했는데 답변을 받고 싶습니다. 저는 별로 재능이 없어서 이 질문에 헷갈려요, (답변이 잘 안나와서 한번 연락드렸습니다) (긴급, 급)

답글 내용:

1. 이 문제는 주로 PH 연산 P 2차원 배열의 병합에 관한 것입니다.

2. 초기 배열은 다음과 같습니다.

3. 다음 배열을 얻고 싶습니다.
<code>$course = array(
    array(
        'course_name' => '高等数学',
        'major_name' => '计算机专业',
        'school_name' => '某A高校'
    ),
    array(
        'course_name' => '高等数学',
        'major_name' => '物理专业',
        'school_name' => '某A高校'
     ),
     array(
        'course_name' => '高等数学',
        'major_name' => '日语专业',
        'school_name' => '某A高校'
     ),
      array(
        'course_name' => '马克思概论',
        'major_name' => '计算机专业',
        'school_name' => '某B高校'
     )
)</code>

4. Xiaobai가 처음으로 질문을 했습니다. 답변을 받고 싶습니다. 저는 별로 재능이 없어서 이 질문에 헷갈려요, (답변이 잘 안나와서 한번 연락드렸습니다) (긴급, 급)
<code>$course = array(
    array(
        'course_name' => '高等数学',
        'major_name' => array('计算机专业','物理专业','日语专业'),
        'school_name' => '某A高校'
    ),
    array(
        'course_name' => '马克思概论',
        'major_name' => array('计算机专业'),
        'school_name' => '某B高校'
     )
)</code>

우선 데이터의 차원은 다음과 같습니다.

"College_Course": [전공 1, [전공 2, 전공 3]]

따라서 College_Course만 다를 뿐입니다

<code>// 上接你的$course数据

$majors = array();
foreach($course as $item){
    extract($item);
    $key = "{$school_name}:{$course_name}";
    if(!isset($majors[$key]){
        $majors[$key] = array(
            "course_name" => $course_name,
            "school_name" => $school_name,
            "major_name" => array($major_name)
        );
    }else{ // 已存在key记录且major_name未重复, 追加 marjor_name
        if(!in_array($marjor_name, $majors[$key]['major_name']){
            $majors[$key]['major_name'][] = $marjor_name;
        }
    }
}
// 提取数组
$majors = array_values($majors);

print_r($majors); // 这就是你要的
</code>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.