PHP将两个关联数组合并函数提高函数效率_php技巧
在foreach中循环查询数据代码量比较少,但是性能比较低,好点的解决办法是将id收集起来,用in一次性查询,但是这引发了数据结构不是我们用PHP自带的函数可以合并的,今天测试了一下:
使用下面的字节写的函数可以解决
从数据库中取出来的数据总是或多或少不符合我们心目中的数据结构,类似于下面的俩个数组,要形成SQL中类似于left join后两个数组合并:
$test1 = Array(
0 => Array(
'id' => 9478137,
'create_time' => 1394760724
),
1 => Array(
'id' => 9478138,
'create_time' => 1394760725
),
2 => Array(
'id' => 9478138,
'create_time' => 1394760725
)
);
$test2 = array(
0 => array(
'id' => 9478137,
'message' => 'love you'
),
1 => array(
'id' => 9478138,
'message' => 'miss you'
)
);
如果要将这两个数组,类似于sql中的left join 关联起来我们用什么函数呢?额我没有找见就自己写了
刚开始的时候,用的是嵌套循环:效率低下
function _mergerArray($array1, $array2, $field1, $field2 = '') {
$ret = array();
foreach($array1 as $key1 => $value1 ) {
foreach ($array2 as $key2 => $value2) {
if($value1[$field1] == $value2[$field2]) {
$ret[$key1] = array_merge($value1, $value2);
}
}
}
return $ret;
}
改进后的办法,使用数组下标,使用两次循环:形成类似于left join的方式
$test1 = Array(
0 => Array(
'id' => 9478137,
'create_time' => 1394760724
),
1 => Array(
'id' => 9478138,
'create_time' => 1394760725
),
2 => Array(
'id' => 9478138,
'create_time' => 1394760725
)
);
$test2 = array(
0 => array(
'id' => 9478137,
'message' => 'love you'
),
1 => array(
'id' => 9478138,
'message' => 'miss you'
)
);
function _mergerArray($array1, $array2, $field1, $field2 = '') {
$ret = array();
//使用数组下标的办法
foreach ($array2 as $key => $value) {
$array3[$value[$field1]] = $value;
}
foreach ($array1 as $key => $value) {
$ret[] = array_merge($array3[$value[$field1]], $value);
}
return $ret;
}
$ret = _mergerArray($test1, $test2, 'id', 'id');
print_r($ret);exit;
打印出来结果如下:
Array
(
[0] => Array
(
[id] => 9478137
[message] => love you
[create_time] => 1394760724
)
[1] => Array
(
[id] => 9478138
[message] => miss you
[create_time] => 1394760725
)
[2] => Array
(
[id] => 9478138
[message] => miss you
[create_time] => 1394760725
)
)
相当于left join了吧?

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

Die Unterschiede zwischen assoziativen Arrays und Index-Arrays in PHP sind: 1. Index-Arrays verwenden numerische Indizes, während assoziative Arrays Zeichenfolgenschlüssel verwenden, um Elemente zu identifizieren und darauf zuzugreifen. 2. Die Reihenfolge der Elemente in einem Index-Array ist dieselbe wie die Reihenfolge, in der sie angezeigt werden Sie werden dem Array hinzugefügt, während die Reihenfolge der Elemente in einem assoziativen Array keine Rolle spielt. 3. Ein indiziertes Array kann über einen numerischen Index beginnend bei 0 auf Array-Elemente zugreifen, während ein assoziatives Array Zeichenfolgenschlüssel verwenden kann, um auf Array-Elemente zuzugreifen. 4. Die Elementschlüssel eines indizierten Arrays beginnen mit dem numerischen Index Nummer 0 eines assoziativen Arrays, dessen Elementschlüssel Zeichenfolgen sind.

Methoden zum Summieren assoziativer Arrays in PHP: 1. Verwenden Sie die foreach-Schleife. 2. Verwenden Sie die Funktion array_sum(). 3. Verwenden Sie die Funktion array_reduce().

Ausführliche Diskussion von PHP-Arrays: umfassende Analyse mehrdimensionaler Arrays, assoziativer Arrays usw. Arrays in PHP sind eine sehr wichtige Datenstruktur, die mehrere Datenelemente speichern und über Indizes darauf zugreifen kann. In PHP können Arrays in verschiedene Typen unterteilt werden, z. B. indizierte Arrays, assoziative Arrays und mehrdimensionale Arrays. Jeder Typ hat seine eigenen einzigartigen Verwendungszwecke und Eigenschaften. Dieser Artikel befasst sich mit den verschiedenen Arten von PHP-Arrays, einschließlich der Deklaration, dem Zugriff, dem Durchlaufen und Betreiben von Arrays, und stellt spezifische Codebeispiele bereit, um den Lesern ein besseres Verständnis zu erleichtern. 1. Index-Array-Indexnummer

Ein assoziatives PHP-Array ist ein spezieller Array-Typ, bei dem jedes Element aus einem Schlüssel und einem entsprechenden Wert besteht. Im Gegensatz zu gewöhnlichen Arrays sind die Indizes von assoziativen Arrays nicht in numerischer Reihenfolge angeordnet, sondern mithilfe von Schlüsseln wie Zeichenfolgen oder Ganzzahlen Wird verwendet, um Werte zu identifizieren und darauf zuzugreifen. Assoziative Arrays werden häufig bei verschiedenen Programmieraufgaben in PHP verwendet, einschließlich Datenspeicherung, Formularverarbeitung, Datenbankabfragen usw.

Abrufen einer Zeile aus einer Ergebnismenge als assoziatives Array mit der PHP-Funktion „mysqli_fetch_assoc“. In PHP ist die Interaktion mit einer Datenbank eine häufige Aufgabe. Wenn wir eine SELECT-Abfrage ausführen und die Ergebnismenge erhalten, müssen wir normalerweise die Daten in der Ergebnismenge zur weiteren Verarbeitung in einem PHP-Array speichern. PHP bietet mehrere Funktionen zum Verarbeiten von Ergebnismengen. Eine der am häufigsten verwendeten Funktionen ist „mysqli_fetch_assoc“. Diese Funktion ruft eine Zeile aus der Ergebnismenge ab

Mit der kontinuierlichen Weiterentwicklung der Technologie ist PHP eine der am weitesten verbreiteten Webentwicklungssprachen geworden. Bei der Datenverarbeitung ist es derzeit häufig erforderlich, den Unterschied zwischen zwei Arrays zu vergleichen Dies kann mit der Funktion array_diff_assoc in PHP erreicht werden. Die Funktion array_diff_assoc wird verwendet, um die Differenz zwischen zwei assoziativen Arrays zu vergleichen und ein neues Array basierend auf den Schlüssel-Wert-Paaren zurückzugeben. Sie gibt ein Array zurück, das alle Parameter im Parameter-Array enthält.

In der PHP-Programmierung ist Array ein sehr häufiger Datentyp. PHP bietet viele integrierte Funktionen zum Verarbeiten von Arrays, darunter die Funktion arsort(), eine sehr nützliche Funktion, mit der assoziative Arrays in absteigender Reihenfolge sortiert werden können. In diesem Artikel wird die Funktion arsort() ausführlich vorgestellt und einige praktische Beispiele gegeben. 1. Was ist die Funktion arsort()? Die Funktion arsort() ist eine in PHP integrierte Array-Sortierfunktion, die zum Sortieren eines Arrays in absteigender Reihenfolge nach dem Wert eines assoziativen Arrays verwendet wird. Diese Funktion wird sich nicht ändern

Verwendung und Beispiele für assoziative Arrays in PHP. In PHP ist ein Array ein sehr häufig verwendeter Datentyp, der zum Speichern mehrerer Werte verwendet wird und auf den über einen Index oder einen Schlüssel zugegriffen werden kann. In vielen Fällen ist die Verwendung assoziativer Arrays praktischer als die Verwendung indizierter Arrays, da assoziative Arrays benutzerdefinierte Schlüssel verwenden können, um auf die Werte im Array zuzugreifen und diese zu manipulieren. Ein assoziatives Array ist ein Array-Typ, der Schlüssel und Werte verknüpft. Jedes Schlüssel-Wert-Paar verfügt über einen eindeutigen Schlüssel im Array, und über den Schlüssel kann auf den entsprechenden Wert zugegriffen und dieser geändert werden. Hier sind einige grundlegende Methoden und Beispiele für die Verwendung assoziativer Arrays
