Array construct/destruct should warn at least for duplicate keys
Offen
Dieses Issue hat noch niemand übernommen.
Feature
Status: Requires RFC
- Vorherrschende Sprache
- C
- Sterne
- 40.4k
- Forks
- 8.1k
- Ø Merge
- 2 T. 13 Std.
- Gemergte PRs (30 T.)
- 96
Beschreibung
Description
$arr = ['4', 'x' => 5];
// construct with duplicate keys
var_dump(['x' => 4, 'x' => 6]);
var_dump([2 => 4, 2.0 => 6]);
// spread operator leading to duplicate keys
var_dump(['x' => 4, ...$arr]);
// destruct with duplicate keys (it is safe to do, but if same key should be assigned to another variable too, it can be done after the destruct)
['x' => $a, 'x' => $b] = ['x' => 10];
var_dump([$a, $b]);
all cases should emit at least warning if not an error
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, die Beispiele zur Konstruktion von Schlüsselduplikaten, zu Spread und Destrukturierung aus dem Issue einschließlich des verknüpften Falls auf 3v4l.org zu reproduzieren. Verfolge die Verarbeitung von Array-Schlüsseln durch den PHP-Interpreter und identifiziere die relevanten Tests oder Einstiegspunkte; abgeschlossen ist die Aufgabe, wenn jeder aufgeführte Fall mit doppelten Schlüsseln mindestens eine Warnung oder einen Fehler ausgibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- php
- Bereich
- compilers
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100