Aktueller Standort: Startseite> Neueste Artikel> Wie benutze ich die Funktion array_intersect, um festzustellen, ob zwischen zwei Arrays eine Schnittstelle besteht? Detaillierte Erläuterung von Codebeispielen und Ideen

Wie benutze ich die Funktion array_intersect, um festzustellen, ob zwischen zwei Arrays eine Schnittstelle besteht? Detaillierte Erläuterung von Codebeispielen und Ideen

gitbox 2025-09-01
<span><span><span class="hljs-meta">&lt;?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">?&gt;</span></span><span>

&lt;hr&gt;

</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.

2. Ideen, um festzustellen, ob zwischen zwei Arrays Schnittpunkte bestehen

Die Idee ist sehr einfach:

  1. Verwenden Sie Array_intersect , um den Schnittpunkt zweier Arrays abzurufen.

  2. Wenn das Ergebnisarray nicht leer ist, bedeutet dies eine Kreuzung; Ansonsten existiert es nicht.

3. Codebeispiele

Hier ist ein einfaches Beispiel, das zeigt, wie Sie feststellen können, ob zwei Arrays Kreuzungen haben:

 <span><span><span class="hljs-meta">&lt;?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>] =&gt; </span><span><span class="hljs-number">4</span></span><span> [</span><span><span class="hljs-number">4</span></span><span>] =&gt; </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.

4. weiter optimierte Beurteilungsmethode

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">&lt;?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.

5. Beispiele für Anwendungsszenarien

  1. Berechtigungsüberprüfung <br> Das Benutzerrollenarray überschneidet sich mit dem System -Berechtigungsarray. Wenn es nicht leer ist, bedeutet dies, dass der Benutzer Zugriffsrechte hat.

  2. Tag -Matching <br> Benutzerzins -Tags und Inhalts -Tags überschneiden sich, und wenn sie vorhanden sind, werden relevante Inhalte empfohlen.

  3. 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.

6. Zusammenfassung

  • 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>