Ciao gente, ma come si elimina un elemento in mezzo ad un array??![]()
unset($array['var']);Originariamente inviato da teju
Ciao gente, ma come si elimina un elemento in mezzo ad un array??![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Come vengono gestiti i valori dell'array?Originariamente inviato da piero.mac
unset($array['var']);
Tipo se elimino il valore [4], e ho un valore in [5], questo in 5 scende a 4 o no?
Mi son spiegato?
certo che no. Gli altri indici rimangono quelli che sono. Se vuoi riordinare un indice numerico puoi usare sort().Originariamente inviato da teju
Come vengono gestiti i valori dell'array?
Tipo se elimino il valore [4], e ho un valore in [5], questo in 5 scende a 4 o no?
Mi son spiegato?
ecco un esempio:
prova a vedere che succede....Codice PHP:
<?php
$pippo = array('a', 'b', 'c', 'd', 'e');
echo "<pre>";
print_r($pippo);
unset($pippo[2]);
print_r($pippo);
sort($pippo);
print_r($pippo);
?>
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Uhm... non va mica troppo...![]()
Ti spiego: mi arriva nella pagina una variabile in GET chiamata "data".
Se questa data non è presente nella $_SESSION['date'] ce la aggiunge, altrimenti deve eliminarla.
Ho questo codice, ma non va la parte di eliminazione...
Appunto: l'inserimento è più che corretto, il problema è che non elimina nulla, oppure certe volte elimina il valore non corretto...Codice PHP:
if(isset($_GET['data'])){
if(@!in_array($_GET['data'], $_SESSION['date'])){
// inserisci in array
$_SESSION['date'][$_SESSION['date_conta']]=$_GET['data'];
$_SESSION['date_conta']++;
}
else{
// elimina dall'array
$j=0;$j--;
do{
$j++;
}while($_SESSION['date'][$j]==$_GET['data']);
unset($_SESSION['date'][$j]);
sort($_SESSION['date']);
}
}
![]()
Un suggerimento?
Grazie
Boh! tu hai fatto una domanda e io ti ho dato una risposta. tutto qui.Originariamente inviato da teju
Uhm... non va mica troppo...![]()
quel codice che hai messo ora va valutato in un contesto piu' ampio. Visto cosi' non dice granche', specie se non si ha idea delle valorizzazioni degli array interessati.
rivedi comunque quel do ... while che si attiva con l'else. forse ti manca un if....![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Nessun altro riesce a darmi una mano??
Se infatti al posto di $pippo metti $_SESSION la funzione usata è identica a quella che mi hai suggerito tu... ma non va.. e non penso sia questione di vedere più in generale la pagina, infatti la $_SESSION['date'] è gestita unicamente da questa funzioncina, non ha altri richiami nella pg...![]()
rivedi il do while...Originariamente inviato da teju
Nessun altro riesce a darmi una mano??
Se infatti al posto di $pippo metti $_SESSION la funzione usata è identica a quella che mi hai suggerito tu... ma non va.. e non penso sia questione di vedere più in generale la pagina, infatti la $_SESSION['date'] è gestita unicamente da questa funzioncina, non ha altri richiami nella pg...![]()
che vuol dire questo codice?
while($_SESSION['date'][$j]==$_GET['data']);
poi:
$pippo al posto di $_SESSION non e' per nulla la stessa cosa. $_SESSION con indice associativo ed e' un array multidimensionale. $pippo un semplice array numerico.
Vedi il manuale per scegliere cose effettivamente puo' esserti utile.
http://it.php.net/manual/it/function.sort.php
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.