Aktueller Standort: Startseite> Neueste Artikel> Wie benutze ich Array_Keys, um doppelte Schlüssel in Arrays zu vermeiden? FAQs für Anfänger für PHP

Wie benutze ich Array_Keys, um doppelte Schlüssel in Arrays zu vermeiden? FAQs für Anfänger für PHP

gitbox 2025-09-11
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Dieser Artikel gibt nur Artikelinhalte als Beispiel aus,Keine tatsächliche Logik beteiligt</span></span><span>
</span><span><span class="hljs-comment">// --------------------------- Text ---------------------------</span></span><span>

</span><span><span class="hljs-meta">?></span></span><span>

<h1>Wie man es benutzt array_keys Vermeiden Sie doppelte Fehler in Arrayschlüssel?PHP Häufig gestellte Fragen nach Neuling</h1>

<p>existieren PHP Mitte,Arrays sind sehr flexible Datenstrukturen,Kann gleichzeitig Schlüssel und Werte speichern。Jedoch,Ein Problem, dem Neulinge häufig begegnen, ist:当你existieren数组Mitte不小心定义了重复的键,Der später definierte Wert überschreibt den vorherigen Wert,Verursacht Datenverlust oder logische Fehler。</p>

<h2>Häufige Situationen der Duplikation von Arrayschlüssel</h2>
<p>Geben Sie ein einfaches Beispiel an:</p>

<pre><code </span><span><span class="hljs-class"><span class="hljs-keyword">class</span></span></span><span>="</span><span><span class="hljs-title">language</span></span><span>-</span><span><span class="hljs-title">php</span></span><span>">
$</span><span><span class="hljs-title">data</span></span><span> = [
    "</span><span><span class="hljs-title">id</span></span><span>" => 1,
    "</span><span><span class="hljs-title">name</span></span><span>" => "</span><span><span class="hljs-title">Alice</span></span><span>",
    "</span><span><span class="hljs-title">id</span></span><span>" => 2
];

</span><span><span class="hljs-title">print_r</span></span><span>($</span><span><span class="hljs-title">data</span></span><span>);
</</span><span><span class="hljs-title">code</span></span><span>></</span><span><span class="hljs-title">pre</span></span><span>>

<</span><span><span class="hljs-title">p</span></span><span>>Nach dem Laufen,数组Mitte只会保留最后一次的 <</span><span><span class="hljs-title">code</span></span><span>>"</span><span><span class="hljs-title">id</span></span><span>" => 2</</span><span><span class="hljs-title">code</span></span><span>>,Das erste Mal, dass ich es definierte <</span><span><span class="hljs-title">code</span></span><span>>"</span><span><span class="hljs-title">id</span></span><span>" => 1</</span><span><span class="hljs-title">code</span></span><span>> Wurde abgedeckt。</</span><span><span class="hljs-title">p</span></span><span>>

<</span><span><span class="hljs-title">h2</span></span><span>>Wie man benutzt </span><span><span class="hljs-title">array_keys</span></span><span> Überprüfen Sie den Wiederholungsschlüssel?</</span><span><span class="hljs-title">h2</span></span><span>>
<</span><span><span class="hljs-title">p</span></span><span>><</span><span><span class="hljs-title">code</span></span><span>></span><span><span class="hljs-title">array_keys</span></span><span>()</</span><span><span class="hljs-title">code</span></span><span>> 函数可以返回数组Mitte所有键组成的新数组,Wir können es verwenden, um festzustellen, ob es doppelte Schlüssel gibt。</</span><span><span class="hljs-title">p</span></span><span>>

<</span><span><span class="hljs-title">pre</span></span><span>><</span><span><span class="hljs-title">code</span></span><span> </span><span><span class="hljs-title">class</span></span><span>="</span><span><span class="hljs-title">language</span></span><span>-</span><span><span class="hljs-title">php</span></span><span>">
$</span><span><span class="hljs-title">data</span></span><span> = [
    "</span><span><span class="hljs-title">id</span></span><span>" => 1,
    "</span><span><span class="hljs-title">name</span></span><span>" => "</span><span><span class="hljs-title">Alice</span></span><span>",
    "</span><span><span class="hljs-title">id</span></span><span>" => 2
];

$</span><span><span class="hljs-title">keys</span></span><span> = </span><span><span class="hljs-title">array_keys</span></span><span>($</span><span><span class="hljs-title">data</span></span><span>);

// Statistik Die Anzahl der Vorkommen von Schlüssel
$</span><span><span class="hljs-title">keyCounts</span></span><span> = </span><span><span class="hljs-title">array_count_values</span></span><span>($</span><span><span class="hljs-title">keys</span></span><span>);

// Finden Sie doppelte Schlüssel
$</span><span><span class="hljs-title">duplicates</span></span><span> = </span><span><span class="hljs-title">array_filter</span></span><span>($</span><span><span class="hljs-title">keyCounts</span></span><span>, </span><span><span class="hljs-title">function</span></span><span>($</span><span><span class="hljs-title">count</span></span><span>) {
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$count</span></span><span> > </span><span><span class="hljs-number">1</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">$duplicates</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Entdecken Sie doppelte Schlüssel: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">implode</span></span><span>(</span><span><span class="hljs-string">", "</span></span><span>, </span><span><span class="hljs-title function_ invoke__">array_keys</span></span><span>(</span><span><span class="hljs-variable">$duplicates</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">"Keine doppelten Schlüssel gefunden"</span></span><span>;
}

Auf diese Weise können wir das Problem der doppelten Schlüssel in der Programmlogik schnell entdecken, um nachfolgende Datenüberschreibungen zu vermeiden.

Weitere empfohlene Praktiken

  • Halten Sie die Schlüsselnamen eindeutig, wenn Sie Arrays definieren.
  • Wenn der Schlüsselname aus dynamischen Daten stammt, überprüfen Sie ihn im Voraus Array_Keys , um ihn zu überprüfen und zu verarbeiten.
  • Deduplicate Schlüssel oder Werte in Kombination mit Array_unique gegebenenfalls.

Zusammenfassen

PHP -Anfänger neigen dazu, die Überlagerung von Array -Tasten zu ignorieren, aber mit Funktionen wie Array_keys können während des Codierungsprozesses Fehler im Voraus erkennen und vermeiden. Eine gute Angewohnheit ist es, die Array -Struktur beim Schreiben von Code und bei Bedarf klar zu halten, was die Kosten für das Debuggen erheblich senken kann.