两个数组合并问题
数组1:
$arr1=Array ( [0] => Array ( [time] => 8:00 [detail] => Array ( [0] => Array ( [caseid] => 31 [casename] => 张三 ) [1] => Array ( [caseid] => 32 [casename] =>李四 ) [2] => Array ( [caseid] => 33 [casename] => 王五 ) ) ) [1] => Array ( [time] => 12:00 [detail] => Array ( [0] => Array ( [caseid] => 32 [casename] => 李四 ) [1] => Array ( [caseid] => 33 [casename] => 王五 ) ) ) [2] => Array ( [time] => 18:00 [detail] => Array ( [0] => Array ( [caseid] => 31 [casename] => 张三 ) [1] => Array ( [caseid] => 32 [casename] => 李四 ) [2] => Array ( [caseid] => 33 [casename] => 王五 ) ) ) )
数组2
$arr2=Array ( [0] => Array ( [time] => 8:00 [detail2] => Array ( [0] => Array ( [caseid] => 41 [casename] => 刘备 ) ) ) [1] => Array ( [time] => 16:00 [detail2] => Array ( [0] => Array ( [caseid] => 42 [casename] => 张飞 ) [1] => Array ( [caseid] => 43 [casename] => 赵云 ) ) ) [2] => Array ( [time] => 18:00 [detail2] => Array ( [0] => Array ( [caseid] => 43 [casename] => 赵云 ) ) ) [2] => Array ( [time] => 22:00 [detail2] => Array ( [0] => Array ( [caseid] => 45 [casename] => 貂蝉 ) ) ) )合并后,最终数组应该是这样显示:[code=php]$result=Array ( [0] => Array ( [time] => 8:00 [detail] => Array ( [0] => Array ( [caseid] => 31 [casename] => 张三 ) [1] => Array ( [caseid] => 32 [casename] =>李四 ) [2] => Array ( [caseid] => 33 [casename] => 王五 ) ) [detail2] => Array ( [0] => Array ( [caseid] => 41 [casename] => 刘备 ) ) ) [1] => Array ( [time] => 12:00 [detail] => Array ( [0] => Array ( [caseid] => 32 [casename] => 李四 ) [1] => Array ( [caseid] => 33 [casename] => 王五 ) ) [detail2] => Array ( ) ) [2] => Array ( [time] => 16:00 [detail] => Array ( ) [detail2] => Array ( [0] => Array ( [caseid] => 42 [casename] => 张飞 ) [1] => Array ( [caseid] => 43 [casename] => 赵云 ) ) ) [3] => Array ( [time] => 18:00 [detail] => Array ( [0] => Array ( [caseid] => 31 [casename] => 张三 ) [1] => Array ( [caseid] => 32 [casename] => 李四 ) [2] => Array ( [caseid] => 33 [casename] => 王五 ) ) [detail2] => Array ( [0] => Array ( [caseid] => 43 [casename] => 赵云 ) ) ) [4] => Array ( [time] => 22:00 [detail] => Array ( ) [detail2] => Array ( [0] => Array ( [caseid] => 45 [casename] => 貂蝉 ) ) ) )
[/code]
回复讨论(解决方案)
$arr1 = array ( 0 => array ( 'time' => '8:00', 'detail' => array ( 0 => array ( 'caseid' => '31', 'casename' => '张三', ), 1 => array ( 'caseid' => '32', 'casename' => '李四', ), 2 => array ( 'caseid' => '33', 'casename' => '王五', ), ), ), 1 => array ( 'time' => '12:00', 'detail' => array ( 0 => array ( 'caseid' => '32', 'casename' => '李四', ), 1 => array ( 'caseid' => '33', 'casename' => '王五', ), ), ), 2 => array ( 'time' => '18:00', 'detail' => array ( 0 => array ( 'caseid' => '31', 'casename' => '张三', ), 1 => array ( 'caseid' => '32', 'casename' => '李四', ), 2 => array ( 'caseid' => '33', 'casename' => '王五', ), ), ),);$arr2 = array ( 0 => array ( 'time' => '8:00', 'detail2' => array ( 0 => array ( 'caseid' => '41', 'casename' => '刘备', ), ), ), 1 => array ( 'time' => '16:00', 'detail2' => array ( 0 => array ( 'caseid' => '42', 'casename' => '张飞', ), 1 => array ( 'caseid' => '43', 'casename' => '赵云', ), ), ), 2 => array ( 'time' => '22:00', 'detail2' => array ( 0 => array ( 'caseid' => '45', 'casename' => '貂蝉', ), ), ),);foreach($arr1 as $item) $a[$item['time']] = $item;foreach($arr2 as $item) $b[$item['time']] = $item;print_r(array_values(array_merge_recursive($a, $b)));
Array( [0] => Array ( [time] => Array ( [0] => 8:00 [1] => 8:00 ) [detail] => Array ( [0] => Array ( [caseid] => 31 [casename] => 张三 ) [1] => Array ( [caseid] => 32 [casename] => 李四 ) [2] => Array ( [caseid] => 33 [casename] => 王五 ) ) [detail2] => Array ( [0] => Array ( [caseid] => 41 [casename] => 刘备 ) ) ) [1] => Array ( [time] => 12:00 [detail] => Array ( [0] => Array ( [caseid] => 32 [casename] => 李四 ) [1] => Array ( [caseid] => 33 [casename] => 王五 ) ) ) [2] => Array ( [time] => 18:00 [detail] => Array ( [0] => Array ( [caseid] => 31 [casename] => 张三 ) [1] => Array ( [caseid] => 32 [casename] => 李四 ) [2] => Array ( [caseid] => 33 [casename] => 王五 ) ) ) [3] => Array ( [time] => 16:00 [detail2] => Array ( [0] => Array ( [caseid] => 42 [casename] => 张飞 ) [1] => Array ( [caseid] => 43 [casename] => 赵云 ) ) ) [4] => Array ( [time] => 22:00 [detail2] => Array ( [0] => Array ( [caseid] => 45 [casename] => 貂蝉 ) ) ))
php 提供了丰富的函数
你应该自己动动手
数组2有问题,18:00,与 22:00的下标都是2,把22:00改为3
<?phpecho '<meta http-equiv="content-type" content="text/html;charset=utf-8">';$arr1 = array ( 0 => array ( 'time' => '8:00', 'detail' => array ( 0 => array ( 'caseid' => '31', 'casename' => '张三', ), 1 => array ( 'caseid' => '32', 'casename' => '李四', ), 2 => array ( 'caseid' => '33', 'casename' => '王五', ), ), ), 1 => array ( 'time' => '12:00', 'detail' => array ( 0 => array ( 'caseid' => '32', 'casename' => '李四', ), 1 => array ( 'caseid' => '33', 'casename' => '王五', ), ), ), 2 => array ( 'time' => '18:00', 'detail' => array ( 0 => array ( 'caseid' => '31', 'casename' => '张三', ), 1 => array ( 'caseid' => '32', 'casename' => '李四', ), 2 => array ( 'caseid' => '33', 'casename' => '王五', ), ), ),);$arr2 = array ( 0 => array ( 'time' => '8:00', 'detail2' => array ( 0 => array ( 'caseid' => '41', 'casename' => '刘备', ), ), ), 1 => array ( 'time' => '16:00', 'detail2' => array ( 0 => array ( 'caseid' => '42', 'casename' => '张飞', ), 1 => array ( 'caseid' => '43', 'casename' => '赵云', ), ), ), 2 => array ( 'time' => '18:00', 'detail2' => array ( 0 => array ( 'caseid' => '43', 'casename' => '赵云', ), ), ), 3 => array ( 'time' => '22:00', 'detail2' => array ( 0 => array ( 'caseid' => '45', 'casename' => '貂蝉', ), ), ),);$result = array();foreach($arr1 as $row){ $key = $row['time']; $row['detail2'] = array(); $result[$key] = $row;}foreach($arr2 as $row){ $key = $row['time']; if(!isset($result[$key])){ $result[$key] = array( 'time' => $row['time'], 'detail' => array(), 'detail2' => $row['detail2'] ); }else{ $result[$key]['detail2'] = $row['detail2']; }}ksort($result, SORT_NUMERIC);$result = array_values($result);echo '<pre class="brush:php;toolbar:false">';print_r($result);echo '
Array( [0] => Array ( [time] => 8:00 [detail] => Array ( [0] => Array ( [caseid] => 31 [casename] => 张三 ) [1] => Array ( [caseid] => 32 [casename] => 李四 ) [2] => Array ( [caseid] => 33 [casename] => 王五 ) ) [detail2] => Array ( [0] => Array ( [caseid] => 41 [casename] => 刘备 ) ) ) [1] => Array ( [time] => 12:00 [detail] => Array ( [0] => Array ( [caseid] => 32 [casename] => 李四 ) [1] => Array ( [caseid] => 33 [casename] => 王五 ) ) [detail2] => Array ( ) ) [2] => Array ( [time] => 16:00 [detail] => Array ( ) [detail2] => Array ( [0] => Array ( [caseid] => 42 [casename] => 张飞 ) [1] => Array ( [caseid] => 43 [casename] => 赵云 ) ) ) [3] => Array ( [time] => 18:00 [detail] => Array ( [0] => Array ( [caseid] => 31 [casename] => 张三 ) [1] => Array ( [caseid] => 32 [casename] => 李四 ) [2] => Array ( [caseid] => 33 [casename] => 王五 ) ) [detail2] => Array ( [0] => Array ( [caseid] => 43 [casename] => 赵云 ) ) ) [4] => Array ( [time] => 22:00 [detail] => Array ( ) [detail2] => Array ( [0] => Array ( [caseid] => 45 [casename] => 貂蝉 ) ) ))
非常感谢,自己搞定了。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Alipay PHP ...

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

기사는 PHP 5.3에 도입 된 PHP의 LSB (Late STATIC BING)에 대해 논의하여 정적 방법의 런타임 해상도가보다 유연한 상속을 요구할 수있게한다. LSB의 실제 응용 프로그램 및 잠재적 성능

기사는 입력 유효성 검사, 인증 및 정기 업데이트를 포함한 취약점을 방지하기 위해 프레임 워크의 필수 보안 기능을 논의합니다.

PHP 개발에서 PHP의 CURL 라이브러리를 사용하여 JSON 데이터를 보내면 종종 외부 API와 상호 작용해야합니다. 일반적인 방법 중 하나는 컬 라이브러리를 사용하여 게시물을 보내는 것입니다 ...

이 기사에서는 프레임 워크에 사용자 정의 기능 추가, 아키텍처 이해, 확장 지점 식별 및 통합 및 디버깅을위한 모범 사례에 중점을 둡니다.

PHP 개발에서 견고한 원칙의 적용에는 다음이 포함됩니다. 1. 단일 책임 원칙 (SRP) : 각 클래스는 하나의 기능 만 담당합니다. 2. Open and Close Principle (OCP) : 변경은 수정보다는 확장을 통해 달성됩니다. 3. Lisch의 대체 원칙 (LSP) : 서브 클래스는 프로그램 정확도에 영향을 미치지 않고 기본 클래스를 대체 할 수 있습니다. 4. 인터페이스 격리 원리 (ISP) : 의존성 및 사용되지 않은 방법을 피하기 위해 세밀한 인터페이스를 사용하십시오. 5. 의존성 반전 원리 (DIP) : 높고 낮은 수준의 모듈은 추상화에 의존하며 종속성 주입을 통해 구현됩니다.

Reactphp의 비 블로킹 기능에 대한 Reactphp의 심층적 인 해석의 비 차단 기능에 대한 공식 소개는 많은 개발자들의 질문을 불러 일으켰습니다.
