<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Dieser Teil des Inhalts hat nichts mit dem Artikel zu tun,Verwendet nur zur Anzeigetrennung</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Der Artikel beginnt wie folgt..."</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-comment"># Wie man benutztarray_intersectDie Funktion bestimmt, ob zwischen zwei Arrays eine Schnittstelle besteht?Detaillierte Erläuterung von Codebeispielen und Ideen</span></span><span>
existieren PHP In der täglichen Entwicklung,Wir begegnen oft solchen Bedürfnissen:判断两个数组中是否存existieren相同的元素。比如existieren权限控制、Tag -Matching、Schlüsselwortfilterung und andere Szenarien,Beide müssen schnell herausfinden, ob zwischen zwei Arrays eine Schnittstelle besteht。zu diesem Zeitpunkt,`array_intersect` Funktionen sind ein sehr nützliches Werkzeug。
</span><span><span class="hljs-comment">## eins、array_intersect Funktion Einführung</span></span><span>
`array_intersect` Die Funktion ist:返回两个或多个数组中都存existieren的值。Mit anderen Worten,Es vergleicht die Werte des Arrays,然后输出eins个新的数组,其中包含所有出现existieren所有参数数组中的元素。
Die grundlegende Syntax ist wie folgt:
```php
</span><span><span class="hljs-title function_ invoke__">array_intersect</span></span><span>(</span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-variable">$array1</span></span><span>, </span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-variable">$array2</span></span><span>, </span><span><span class="hljs-keyword">array</span></span><span> ...</span><span><span class="hljs-variable">$arrays</span></span><span>): </span><span><span class="hljs-keyword">array</span></span><span>
</span></span>
$ Array1 : Erforderlicher Parameter, das erste Array, das verglichen wird.
$ array2 : Erforderlicher Parameter, das zweite Array, das verglichen wird.
... $ Arrays : Optionale Parameter, mehr Arrays, die am Vergleich teilnehmen müssen.
Rückgabewert: Ein neues Array, das alle Kreuzungselemente enthält.
Die Idee ist sehr einfach:
Verwenden Sie Array_intersect , um den Schnittpunkt zweier Arrays abzurufen.
Wenn das Ergebnisarray nicht leer ist, bedeutet dies eine Kreuzung; Ansonsten existiert es nicht.
Hier ist ein einfaches Beispiel, das zeigt, wie Sie feststellen können, ob zwei Arrays Kreuzungen haben:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$array1</span></span><span> = [</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>];
</span><span><span class="hljs-variable">$array2</span></span><span> = [</span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-number">6</span></span><span>, </span><span><span class="hljs-number">7</span></span><span>, </span><span><span class="hljs-number">8</span></span><span>];
</span><span><span class="hljs-comment">// verwenden array_intersect Holen Sie sich die Kreuzung</span></span><span>
</span><span><span class="hljs-variable">$intersection</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_intersect</span></span><span>(</span><span><span class="hljs-variable">$array1</span></span><span>, </span><span><span class="hljs-variable">$array2</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-keyword">empty</span></span><span>(</span><span><span class="hljs-variable">$intersection</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"两个数组存existieren交集,Das Kreuzungselement ist: "</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$intersection</span></span><span>);
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Es gibt keinen Schnittpunkt zwischen zwei Arrays"</span></span><span>;
}
</span></span>
Das Ausgangsergebnis ist:
<span><span>两个数组存existieren交集,Das Kreuzungselement ist: </span><span><span class="hljs-title class_">Array</span></span><span> ( [</span><span><span class="hljs-number">3</span></span><span>] => </span><span><span class="hljs-number">4</span></span><span> [</span><span><span class="hljs-number">4</span></span><span>] => </span><span><span class="hljs-number">5</span></span><span> )
</span></span>
Wie Sie sehen können, beträgt der Schnittpunkt der Arrays $ Array1 und $ Array2 [4, 5] , sodass das zurückgegebene Ergebnis nicht leer ist.
In einigen Fällen kümmern wir uns nur darum , ob es einen Schnittpunkt gibt , nicht ein bestimmtes Schnittpunktelement. Dies kann die Logik vereinfachen:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$array1</span></span><span> = [</span><span><span class="hljs-string">'apple'</span></span><span>, </span><span><span class="hljs-string">'banana'</span></span><span>, </span><span><span class="hljs-string">'orange'</span></span><span>];
</span><span><span class="hljs-variable">$array2</span></span><span> = [</span><span><span class="hljs-string">'grape'</span></span><span>, </span><span><span class="hljs-string">'peach'</span></span><span>, </span><span><span class="hljs-string">'banana'</span></span><span>];
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">array_intersect</span></span><span>(</span><span><span class="hljs-variable">$array1</span></span><span>, </span><span><span class="hljs-variable">$array2</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"存existieren交集"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"不存existieren交集"</span></span><span>;
}
</span></span>
Dies führt intuitiver.
Berechtigungsüberprüfung <br> Das Benutzerrollenarray überschneidet sich mit dem System -Berechtigungsarray. Wenn es nicht leer ist, bedeutet dies, dass der Benutzer Zugriffsrechte hat.
Tag -Matching <br> Benutzerzins -Tags und Inhalts -Tags überschneiden sich, und wenn sie vorhanden sind, werden relevante Inhalte empfohlen.
Schlüsselwortfilterung <br> Das vom Benutzer und das sensible Word -Array eingegebene Keyword -Array werden überschnitten. Wenn es eine Kreuzung gibt, fordert oder schnitt es auf.
Array_intersect kann den Schnittpunkt mehrerer Arrays effizient ermitteln.
Wenn Sie beurteilen, ob die Kreuzung leer ist, können Sie herausfinden, ob die beiden Arrays die gleichen Elemente haben.
Es wird in praktischen Unternehmen wie Berechtigungen, Empfehlungssystemen und Inhaltsfilterung häufig eingesetzt.
Durch die rationale Verwendung von Array_intersect können wir minimalistische Code verwenden, um logische logische Urteile zu erhalten, wodurch die Entwicklungseffizienz erheblich verbessert wird.
<span></span>