Ho una matrice su cui eseguo il loopover. Ho un'altra matrice da cui ho bisogno di selezionare uno per uno, ma ha bisogno di andare in cerchio nel caso in cui arriva alla fine della matrice. Per chiarire qui è un codice:Tratta un array come array circolare quando selezioni gli elementi - PHP
$mainArray = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
$size = count($mainArray);
$circular = array('A', 'B', 'C');
for($i = 0; $i < $size; $i++) {
echo $mainArray[$i] . ' = ' . $circular[$i] . ', ';
}
Ora sopra le stampe di codici a questo:
1 = A, 2 = B, 3 = C, UNDEFINED INDEX ERROR
Che cosa ho bisogno per stampare è questo:
1 = A, 2 = B, 3 = C, 4 = A, 5 = B, 6 = C, 7 = A, 8 = B, 9 = C, 10 = A
C'è una costruito nel funzione di PHP che trasforma una matrice in un array circolare? Penso di aver bisogno di usare l'operatore modulare per raggiungere questo obiettivo.
Questo non funzionerà se il valore di un elemento di matrice è Falsey. 'circular' tornerà all'inizio dell'array ogni volta che raggiunge quell'elemento. – Barmar
Grazie. Modificato per controllare '=== false'. Quindi l'elemento dell'array potrebbe essere "falso" ma oh, va bene. – AbraCadaver
Questo tipo di soluzione funziona fintanto che 'false' non è un elemento valido dell'array. La soluzione che utilizza il modulo funziona più in generale. – Barmar