php / php/php-src

Array construct/destruct should warn at least for duplicate keys

Aperta
#9,848 6 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Feature Status: Requires RFC
Lingua principale
C
Stelle
40.4k
Fork
8.1k
Merge medio
2g 13h
PR unite (30g)
96

Descrizione

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]);

https://3v4l.org/NTFPM

all cases should emit at least warning if not an error

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia riproducendo gli esempi di costruzione di chiavi duplicate, spread e destrutturazione presenti nell’issue, incluso il caso collegato su 3v4l.org. Segui la gestione delle chiavi degli array da parte dell’interprete PHP e individua i test o i punti di ingresso pertinenti; il lavoro è completato quando ogni caso di chiave duplicata elencato genera almeno un avviso o un errore.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
php
Ambito
compilers
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.