목차
回复讨论(解决方案)

数组合并

Jun 23, 2016 pm 02:20 PM
배열 병합

2个数组:

//数组aarray (  'SU13080800340' =>   array (    0 => 'CVT121015001',    1 => 'CVT121015002',    2 => 'CVT121226001',  ),)//数组barray (  'stock_no' => 'SU13080800340',  'adress' => 'B',  'arr_time' => '2013-08-14 09:00:00',  'c_type' => 'P32E',  'cust_no' => '310F61VA5A',  'mount_total' => '3',  'total' => '48',  'c1_time' => '2013-08-10 15:00:00',)
로그인 후 복사


求达到合并的效果:
array ('0' =>array (  'stock_no' => 'SU13080800340',  'adress' => 'B',  'arr_time' => '2013-08-14 09:00:00',  'c_type' => 'P32E',  'cust_no' => '310F61VA5A',  'mount_total' => '3',  'total' => '48',  'c1_time' => '2013-08-10 15:00:00',  'packageno' => 'CVT121015001',),'1' =>array (  'stock_no' => 'SU13080800340',  'adress' => 'B',  'arr_time' => '2013-08-14 09:00:00',  'c_type' => 'P32E',  'cust_no' => '310F61VA5A',  'mount_total' => '3',  'total' => '48',  'c1_time' => '2013-08-10 15:00:00',  'packageno' => 'CVT121015002',),'2' =>array (  'stock_no' => 'SU13080800340',  'adress' => 'B',  'arr_time' => '2013-08-14 09:00:00',  'c_type' => 'P32E',  'cust_no' => '310F61VA5A',  'mount_total' => '3',  'total' => '48',  'c1_time' => '2013-08-10 15:00:00',  'packageno' => 'CVT121016001',),)
로그인 후 복사


回复讨论(解决方案)

楼主你应该更明确的描述你的需求

如果仅仅是按照你的样例来写代码,扩展起来可能又会出现问题

按照你的样例,可以这么写:


//数组a$a = array (  'SU13080800340' =>   array (    0 => 'CVT121015001',    1 => 'CVT121015002',    2 => 'CVT121226001'  ));//数组b$b = array (  'stock_no' => 'SU13080800340',  'adress' => 'B',  'arr_time' => '2013-08-14 09:00:00',  'c_type' => 'P32E',  'cust_no' => '310F61VA5A',  'mount_total' => '3',  'total' => '48',  'c1_time' => '2013-08-10 15:00:00');$res = array();foreach($a['SU13080800340'] as $key=>$each){	$res[] = $b;	$res[$key]['packageno'] = $each;}var_export($res);
로그인 후 복사


结果:
array (  0 =>   array (    'stock_no' => 'SU13080800340',    'adress' => 'B',    'arr_time' => '2013-08-14 09:00:00',    'c_type' => 'P32E',    'cust_no' => '310F61VA5A',    'mount_total' => '3',    'total' => '48',    'c1_time' => '2013-08-10 15:00:00',    'packageno' => 'CVT121015001',  ),  1 =>   array (    'stock_no' => 'SU13080800340',    'adress' => 'B',    'arr_time' => '2013-08-14 09:00:00',    'c_type' => 'P32E',    'cust_no' => '310F61VA5A',    'mount_total' => '3',    'total' => '48',    'c1_time' => '2013-08-10 15:00:00',    'packageno' => 'CVT121015002',  ),  2 =>   array (    'stock_no' => 'SU13080800340',    'adress' => 'B',    'arr_time' => '2013-08-14 09:00:00',    'c_type' => 'P32E',    'cust_no' => '310F61VA5A',    'mount_total' => '3',    'total' => '48',    'c1_time' => '2013-08-10 15:00:00',    'packageno' => 'CVT121226001',  ),)
로그인 후 복사

楼主你应该更明确的描述你的需求
如果仅仅是按照你的样例来写代码,扩展起来可能又会出现问题
我看了下数据结构,stockno对应的packageno的结果如数组a所示,数组b是数据表按照cust_no进行group by,例子更新下:

//数组aarray (  'SU13080800340' =>   array (    0 => 'CVT121015001',    1 => 'CVT121015002',    2 => 'CVT121226001',  ),)//数组barray ('0' =>array (  'stock_no' => 'SU13080800340',  'adress' => 'B',  'arr_time' => '2013-08-14 09:00:00',  'c_type' => 'P32E',  'cust_no' => '310F61VA5A',  'mount_total' => '1',  'total' => '16',  'c1_time' => '2013-08-10 15:00:00',),'1' =>array (  'stock_no' => 'SU13080800340',  'adress' => 'B',  'arr_time' => '2013-08-14 09:00:00',  'c_type' => 'P32E',  'cust_no' => '310F61VA5B',  'mount_total' => '2',  'total' => '32',  'c1_time' => '2013-08-10 15:00:00',),)
로그인 후 복사


求达到合并的效果:
array ('0' =>array (  'stock_no' => 'SU13080800340',  'adress' => 'B',  'arr_time' => '2013-08-14 09:00:00',  'c_type' => 'P32E',  'cust_no' => '310F61VA5A',  'mount_total' => '1',  'total' => '16',  'c1_time' => '2013-08-10 15:00:00',  'packageno' => 'CVT121015001',),'1' =>array (  'stock_no' => 'SU13080800340',  'adress' => 'B',  'arr_time' => '2013-08-14 09:00:00',  'c_type' => 'P32E',  'cust_no' => '310F61VA5A',  'mount_total' => '2',  'total' => '32',  'c1_time' => '2013-08-10 15:00:00',  'packageno' => 'CVT121015002',),'2' =>array (  'stock_no' => 'SU13080800340',  'adress' => 'B',  'arr_time' => '2013-08-14 09:00:00',  'c_type' => 'P32E',  'cust_no' => '310F61VA5A',  'mount_total' => '2',  'total' => '32',  'c1_time' => '2013-08-10 15:00:00',  'packageno' => 'CVT121016001',),)
로그인 후 복사

没看出来你这两个数组之间是如何判断联系的.

//数组a$a = array (  'SU13080800340' =>   array (    0 => 'CVT121015001',    1 => 'CVT121015002',    2 => 'CVT121226001',  ),);//数组b$b = array ('0' =>array (  'stock_no' => 'SU13080800340',  'adress' => 'B',  'arr_time' => '2013-08-14 09:00:00',  'c_type' => 'P32E',  'cust_no' => '310F61VA5A',  'mount_total' => '1',  'total' => '16',  'c1_time' => '2013-08-10 15:00:00',),'1' =>array (  'stock_no' => 'SU13080800340',  'adress' => 'B',  'arr_time' => '2013-08-14 09:00:00',  'c_type' => 'P32E',  'cust_no' => '310F61VA5B',  'mount_total' => '2',  'total' => '32',  'c1_time' => '2013-08-10 15:00:00',),);foreach($b as $item) {  for($i=0; $i<$item['mount_total']; $i++) {    $item['packageno'] = current(array_splice($a[$item['stock_no']], 0, 1));    $res[] = $item;  }}var_export($res);
로그인 후 복사
로그인 후 복사
array (  0 =>   array (    'stock_no' => 'SU13080800340',    'adress' => 'B',    'arr_time' => '2013-08-14 09:00:00',    'c_type' => 'P32E',    'cust_no' => '310F61VA5A',    'mount_total' => '1',    'total' => '16',    'c1_time' => '2013-08-10 15:00:00',    'packageno' => 'CVT121015001',  ),  1 =>   array (    'stock_no' => 'SU13080800340',    'adress' => 'B',    'arr_time' => '2013-08-14 09:00:00',    'c_type' => 'P32E',    'cust_no' => '310F61VA5B',    'mount_total' => '2',    'total' => '32',    'c1_time' => '2013-08-10 15:00:00',    'packageno' => 'CVT121015002',  ),  2 =>   array (    'stock_no' => 'SU13080800340',    'adress' => 'B',    'arr_time' => '2013-08-14 09:00:00',    'c_type' => 'P32E',    'cust_no' => '310F61VA5B',    'mount_total' => '2',    'total' => '32',    'c1_time' => '2013-08-10 15:00:00',    'packageno' => 'CVT121226001',  ),)
로그인 후 복사
로그인 후 복사

//数组a$a = array (  'SU13080800340' =>   array (    0 => 'CVT121015001',    1 => 'CVT121015002',    2 => 'CVT121226001',  ),);//数组b$b = array ('0' =>array (  'stock_no' => 'SU13080800340',  'adress' => 'B',  'arr_time' => '2013-08-14 09:00:00',  'c_type' => 'P32E',  'cust_no' => '310F61VA5A',  'mount_total' => '1',  'total' => '16',  'c1_time' => '2013-08-10 15:00:00',),'1' =>array (  'stock_no' => 'SU13080800340',  'adress' => 'B',  'arr_time' => '2013-08-14 09:00:00',  'c_type' => 'P32E',  'cust_no' => '310F61VA5B',  'mount_total' => '2',  'total' => '32',  'c1_time' => '2013-08-10 15:00:00',),);foreach($b as $item) {  for($i=0; $i<$item['mount_total']; $i++) {    $item['packageno'] = current(array_splice($a[$item['stock_no']], 0, 1));    $res[] = $item;  }}var_export($res);
로그인 후 복사
로그인 후 복사
array (  0 =>   array (    'stock_no' => 'SU13080800340',    'adress' => 'B',    'arr_time' => '2013-08-14 09:00:00',    'c_type' => 'P32E',    'cust_no' => '310F61VA5A',    'mount_total' => '1',    'total' => '16',    'c1_time' => '2013-08-10 15:00:00',    'packageno' => 'CVT121015001',  ),  1 =>   array (    'stock_no' => 'SU13080800340',    'adress' => 'B',    'arr_time' => '2013-08-14 09:00:00',    'c_type' => 'P32E',    'cust_no' => '310F61VA5B',    'mount_total' => '2',    'total' => '32',    'c1_time' => '2013-08-10 15:00:00',    'packageno' => 'CVT121015002',  ),  2 =>   array (    'stock_no' => 'SU13080800340',    'adress' => 'B',    'arr_time' => '2013-08-14 09:00:00',    'c_type' => 'P32E',    'cust_no' => '310F61VA5B',    'mount_total' => '2',    'total' => '32',    'c1_time' => '2013-08-10 15:00:00',    'packageno' => 'CVT121226001',  ),)
로그인 후 복사
로그인 후 복사


版大这样也只是做出来他举的特定例子吧...  没法判断数组A和B就是这种恰好顺序对应的关系啊...

版大这样也只是做出来他举的特定例子吧...  没法判断数组A和B就是这种恰好顺序对应的关系啊...

关系是写死的。谢谢了!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

PHP 배열을 병합한 후 빈 배열을 처리하는 방법은 무엇입니까? PHP 배열을 병합한 후 빈 배열을 처리하는 방법은 무엇입니까? Apr 28, 2024 pm 01:51 PM

PHP에서 array_merge()를 사용하여 배열을 병합할 때 빈 문자열이나 빈 배열이 포함되어 있으면 혼란스러운 결과가 생성됩니다. 해결책: 1. null 값을 필터링하려면 array_filter()를 사용하십시오. 2. 빈 배열이 포함된 경우 재귀 병합 함수 array_merge_recursive_distinct()를 사용하여 일관된 배열 구조를 유지합니다.

PHP 배열 병합 효율성은 어떻게 비교됩니까? PHP 배열 병합 효율성은 어떻게 비교됩니까? Apr 28, 2024 am 11:09 AM

PHP 배열 병합 효율성 비교: Array_merge(), + 연산자 및 Array_replace() 세 가지 방법의 시간 복잡도는 모두 O(n)입니다. 이는 병합 시간이 배열 요소 수에 비례한다는 것을 의미합니다. 이 세 가지 방법의 공간 복잡도도 O(n)입니다. 이는 메모리 사용량이 배열 요소 수에 비례한다는 의미입니다. 측정 결과는 큰 배열을 병합할 때 Array_merge() 및 + 연산자가 Array_replace()보다 빠른 것으로 나타났습니다.

PHP 배열을 병합할 때 시간 복잡성을 고려하는 방법은 무엇입니까? PHP 배열을 병합할 때 시간 복잡성을 고려하는 방법은 무엇입니까? Apr 28, 2024 pm 02:18 PM

PHP에서 배열 병합의 경우 시간 복잡도는 알고리즘에 따라 다릅니다. array_merge() 및 + 연산자의 경우 O(m+n), 여기서 m과 n은 배열 크기입니다. 루프 병합도 O(m+n)입니다. 어레이 크기 및 가용성과 같은 요소를 기반으로 적절한 방법을 선택하고 애플리케이션을 최적화하는 데 필요한 성능을 고려하십시오.

PHP 배열을 병합할 때 중복 요소를 처리하는 방법은 무엇입니까? PHP 배열을 병합할 때 중복 요소를 처리하는 방법은 무엇입니까? Apr 28, 2024 pm 10:42 PM

PHP에서 배열을 병합할 때 다음 방법을 선택하여 중복 요소를 처리할 수 있습니다. 중복 요소를 제거하려면 array_unique()와 결합된 array_merge()를 사용하세요. 원래 배열을 변경하지 않고 중복 요소를 덮어쓰려면 array_replace()를 사용하세요. 한 배열에서 다른 배열에 없는 요소를 제거하려면 array_diff()를 사용하세요.

PHP 5.5 함수 분석: array_reduce 함수를 사용하여 배열 요소를 하나의 값으로 결합하는 방법 PHP 5.5 함수 분석: array_reduce 함수를 사용하여 배열 요소를 하나의 값으로 결합하는 방법 Jul 30, 2023 pm 05:18 PM

PHP5.5 함수 분석: array_reduce 함수를 사용하여 배열 요소를 하나의 값으로 결합하는 방법 PHP 프로그래밍에서는 종종 배열을 처리해야 하며 때로는 배열 요소를 하나의 값으로 결합해야 합니다. 이때 PHP5.5 버전에서 도입된 array_reduce 함수를 사용하여 이 함수를 구현할 수 있습니다. 이 기사에서는 array_reduce 함수의 사용법을 자세히 소개하고 해당 코드 예제를 제공합니다. array_reduce 함수는

PHP 배열을 병합하고 분할하는 방법 PHP 배열을 병합하고 분할하는 방법 Sep 05, 2023 am 08:47 AM

PHP 배열은 매우 일반적으로 사용되는 데이터 구조이며 배열의 병합 및 분할 작업이 개발에 자주 포함됩니다. 이 기사에서는 PHP 언어를 사용하여 이 두 가지 작업을 구현하는 방법을 소개하고 해당 코드 예제를 첨부합니다. 1. 배열 병합 배열 병합 작업은 array_merge() 함수를 사용하여 구현할 수 있습니다. 이 함수는 여러 배열을 인수로 받아들이고 이를 새 배열로 병합합니다. 코드 예: $array1=["apple","ba

PHP에서 두 배열을 병합하는 방법 PHP에서 두 배열을 병합하는 방법 Jul 07, 2023 am 09:57 AM

PHP에서 두 배열을 병합하는 방법 PHP 프로그래밍에서는 두 배열을 병합해야 하는 상황에 자주 직면합니다. PHP는 배열 병합 작업을 구현하는 다양한 방법을 제공합니다. 이 기사에서는 코드 예제와 함께 몇 가지 일반적인 방법을 소개합니다. 방법 1: array_merge 함수 사용 array_merge 함수는 배열 병합을 위해 PHP에서 제공하는 내장 함수입니다. 여러 배열을 매개변수로 받아들이고 병합된 새 배열을 반환합니다. 다음은 array_merge 함수를 사용하여 두 개를 병합하는 것입니다.

PHP array_merge() 함수를 사용하여 여러 배열 병합 PHP array_merge() 함수를 사용하여 여러 배열 병합 Jun 27, 2023 am 08:33 AM

PHParray_merge() 함수는 여러 배열을 병합하는 내장 함수입니다. 이 함수는 여러 배열을 새로운 배열로 결합할 수 있습니다. 이 기사에서는 PHParray_merge() 함수를 사용하여 여러 배열을 병합하는 방법에 대해 설명합니다. PHParray_merge() 함수 사용 방법 PHParray_merge() 함수는 다양한 용도로 사용되지만 가장 일반적인 용도는 두 개 이상의 그룹을 하나로 병합하는 것입니다. 다음은 간단한 예입니다: $

See all articles