数组合并
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就是这种恰好顺序对应的关系啊...
关系是写死的。谢谢了!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Wenn Sie array_merge() in PHP zum Zusammenführen von Arrays verwenden, führt dies zu verwirrenden Ergebnissen, wenn es leere Zeichenfolgen oder leere Arrays enthält. Lösung: 1. Verwenden Sie array_filter(), um Nullwerte zu filtern. 2. Verwenden Sie für Fälle, die leere Arrays enthalten, die rekursive Zusammenführungsfunktion array_merge_recursive_distinct(), um eine konsistente Array-Struktur aufrechtzuerhalten.

Bei der Array-Zusammenführung in PHP hängt die zeitliche Komplexität vom Algorithmus ab: O(m+n) für array_merge() und +-Operator, wobei m und n die Array-Größen sind. Die Schleifenzusammenführung erfolgt ebenfalls O(m+n). Wählen Sie die geeignete Methode basierend auf Faktoren wie Array-Größe und Verfügbarkeit und berücksichtigen Sie die Leistungsanforderungen zur Optimierung Ihrer Anwendung.

Vergleich der Effizienz der Zusammenführung von PHP-Arrays: Die zeitliche Komplexität der drei Methoden Array_merge(), + Operator und Array_replace() beträgt alle O(n), was bedeutet, dass die Zusammenführungszeit proportional zur Anzahl der Array-Elemente ist. Die räumliche Komplexität dieser drei Methoden beträgt ebenfalls O(n), was bedeutet, dass die Speichernutzung proportional zur Anzahl der Array-Elemente ist. Die gemessenen Ergebnisse zeigen, dass Array_merge() und +-Operator beim Zusammenführen großer Arrays schneller sind als Array_replace().

Beim Zusammenführen von Arrays in PHP können Sie die folgende Methode wählen, um mit doppelten Elementen umzugehen: Verwenden Sie array_merge() in Kombination mit array_unique(), um doppelte Elemente zu entfernen. Verwenden Sie array_replace(), um doppelte Elemente zu überschreiben, ohne das ursprüngliche Array zu ändern. Verwenden Sie array_diff(), um Elemente aus einem Array zu entfernen, die sich nicht in einem anderen Array befinden.

PHP5.5-Funktionsanalyse: So verwenden Sie die Funktion array_reduce, um Array-Elemente zu einem Wert zu kombinieren. In der PHP-Programmierung müssen wir häufig Arrays verarbeiten und manchmal müssen wir Array-Elemente zu einem Wert kombinieren. Zu diesem Zeitpunkt können wir die in der PHP5.5-Version eingeführte Funktion array_reduce verwenden, um diese Funktion zu implementieren. In diesem Artikel wird die Verwendung der Funktion array_reduce ausführlich vorgestellt und entsprechende Codebeispiele bereitgestellt. Die Funktion array_reduce ist eine

PHP-Array ist eine sehr häufig verwendete Datenstruktur, und die Zusammenführungs- und Aufteilungsoperationen von Arrays sind häufig in der Entwicklung enthalten. In diesem Artikel wird erläutert, wie Sie diese beiden Vorgänge mithilfe der PHP-Sprache implementieren und entsprechende Codebeispiele beifügen. 1. Arrays zusammenführen Der Vorgang des Zusammenführens von Arrays kann mit der Funktion array_merge() implementiert werden. Diese Funktion akzeptiert mehrere Arrays als Argumente und führt sie zu einem neuen Array zusammen. Codebeispiel: $array1=["apple","ba

So führen Sie zwei Arrays in PHP zusammen. Bei der PHP-Programmierung kommt es häufig vor, dass Sie zwei Arrays zusammenführen müssen. PHP bietet eine Vielzahl von Methoden zum Implementieren von Array-Zusammenführungsvorgängen. In diesem Artikel werden einige der gängigen Methoden mit Codebeispielen vorgestellt. Methode 1: Verwenden Sie die Funktion array_merge. Die Funktion array_merge ist eine integrierte Funktion von PHP zum Zusammenführen von Arrays. Es akzeptiert mehrere Arrays als Parameter und gibt ein zusammengeführtes neues Array zurück. Im Folgenden wird die Funktion array_merge verwendet, um zwei zusammenzuführen

Die Funktion PHParray_merge() ist eine integrierte Funktion zum Zusammenführen mehrerer Arrays. Diese Funktion kann mehrere Arrays zu einem neuen Array zusammenfassen. In diesem Artikel besprechen wir, wie man mehrere Arrays mit der Funktion PHParray_merge() zusammenführt. So verwenden Sie die Funktion PHParray_merge() Die Funktion PHParray_merge() hat viele Verwendungsmöglichkeiten, aber die häufigste Verwendung besteht darin, zwei oder mehr Gruppen zu einer zusammenzuführen. Hier ist ein einfaches Beispiel: $
