Array: eliminare gli elementi che soddisfano una condizione

felino

Utente Attivo
12 Dic 2013
940
10
18
Aci Catena (Catania)
Salve a tutti,
ho un array, che chiameremo $r_giorni:

PHP:
Array ( [0] => 2014-06-01 [giugno_1] => 2014-06-01 [1] => 2014-06-08 [giugno_2] => 2014-06-08 [2] => 2014-06-15 [giugno_3] => 2014-06-15 [3] => 2014-06-22 [giugno_4] => 2014-06-22 [4] => 2014-06-29 [giugno_5] => 2014-06-29 [5] => 2014-07-06 [luglio_1] => 2014-07-06 [6] => 2014-07-13 [luglio_2] => 2014-07-13 [7] => 2014-07-20 [luglio_3] => 2014-07-20 [8] => 2014-07-27 [luglio_4] => 2014-07-27 [9] => 0000-00-00 [luglio_5] => 0000-00-00 [10] => 2014-08-03 [agosto_1] => 2014-08-03 [11] => 2014-08-03 [agosto_2] => 2014-08-03 [12] => 2014-08-17 [agosto_3] => 2014-08-17 [13] => 2014-08-24 [agosto_4] => 2014-08-24 [14] => 2014-08-31 [agosto_5] => 2014-08-31 [15] => 2014-09-07 [settembre_1] => 2014-09-07 [16] => 2014-09-14 [settembre_2] => 2014-09-14 [17] => 2014-09-21 [settembre_3] => 2014-09-21 [18] => 2014-09-28 [settembre_4] => 2014-09-28 [19] => 0000-00-00 [settembre_5] => 0000-00-00 )

Come faccio ad eliminare gli elementi che soddsfano la condizione: '0000-00-00'?

Avevo scritto:
PHP:
             //Rimuovo gli elmenti vuoti, cioè 0000-00-00
             for($i=0; $i < count($r_giorni); $i++){
                if($r_giorni[i] == '0000-00-00') {
                    unset($r_giorni[i]);
                }
             }

ma non va!

Grazie.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, puoi provare cosi
PHP:
foreach ($r_giorni as $key => $value) {
    if ($value == "0000-00-00") {
        unset($r_giorni[$key]);
    }
}
 

flameseeker

Utente Attivo
27 Nov 2013
699
0
0
In alternativa, propongo l'uso di array_filter:
PHP:
$r_giorni = array_filter($r_giorni, function($var) {
	return $var != '0000-00-00';
});


ps: scritto così funziona solo con php >= 5.3
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Oppure in alternativa :p
PHP:
$r_giorni = array_diff($r_giorni,array('0000-00-00'));
 

felino

Utente Attivo
12 Dic 2013
940
10
18
Aci Catena (Catania)
Grazie a tutti, alla fine ho usato il foreach!

Mi piace molto la soluzione di Nyfyt!

Ecco perchè non funzionava, avevo dimenticato il $ all'interno della condizione IF.

Grazie.
 
Discussioni simili
Autore Titolo Forum Risposte Data
S [PHP] Eliminare doppioni array e rinumerare le posizioni PHP 2
C [PHP] eliminare elemento da un array multidimensionale PHP 9
C [PHP] RISOLTO - Eliminare elementi duplicati da array multidimensionale PHP 1
S Eliminare del tutto i doppioni in un array PHP 3
S Eliminare duplicati all'interno di un array PHP 6
T eliminare una parte dell'array (eliminare un messaggio dalla tagboard) PHP 1
I Eliminare valori array PHP 12
metalgemini Eliminare elemento array Javascript 2
otto9due Leggere valore da array multidimensionale a chiavi dinamiche PHP 1
M Passaggio variabili array php su un tasto jq PHP 3
M Somma inversa di Array C/C++ 2
MarcoGrazia Iterazione array PHP 5
N Passare array da php a javascript PHP 5
G Ordinare un array multidimensionale PHP 4
H Errore su array associativo PHP 1
K Array senza ripetizioni Presentati al Forum 4
A Gestione array multidimensionale PHP 6
otto9due Più chiavi in array con array_key_exists() PHP 0
M Array associativi php su 2 campi mysql PHP 10
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L Sessione e array per utenti PHP 0
R Importazione csv su mysql tramite array PHP 2
elpirata Ricavare e stampare indirizzo ip da array associativo PHP 0
P Ciclare tra array di oggetti PHP 1
R Raggruppare valori array PHP 5
S Come conoscere la posizione di numeri in un array escludendo i doppioni PHP 4
D Popolare array PHP 8
R Includere elementi array fra apici PHP 1
P Array da foreach PHP 2
N Variabile di sessione è un array PHP7 PHP 3
R Scorporare array e recuperare record tabella PHP 10
A Contare gli elementi di un array PHP 13
A Importare array in mysql PHP 1
A Array di immagini Sviluppo app per Android 10
D Chiave unica in estrazione dati da array php PHP 0
D Spazio vuoto in un elemento di un array php PHP 2
S Come filtrare valori di un array PHP 4
mazman mysqli_query() mi ritorna un array vuoto anche se presente un record nella tabella PHP 13
A Non è un array e nemmeno un intero, che tipo di dato è? Javascript 1
max1974 PHP, Array Multidimensionale e Grafici PHP 22
S [PHP] Confrontare due array con valori quasi uguali PHP 2
MarcoGrazia [PHP] Unioni di due array con somma di valori PHP 6
R [PHP] Visualizzazione dati Array PHP 2
M Importare - Manipolare Json Array Sviluppo app per Android 2
M [PHP] Problemi su inserimento array nel db PHP 7
M [PHP] Visualizzare un array partendo dal numero 1 e non 0 PHP 5
G [ASP] Ciclare i valori di 2 array Classic ASP 2
S [PHP] Estrarre elementi array su più variabili PHP 5
S [PHP] Estrarre dati tabella in diversi array PHP 2

Discussioni simili