Visualizzazione risultati 1 fino 3 di 3

Discussione: Codice PhP non funziona - array + stringhe

  1. #1
    Guest

    Predefinito Codice PhP non funziona - array + stringhe

    Codice PHP:
    $eventi = array(5,'001,1,10','002,2,20','003,3,30','005,5,50','006,6,60');
    $counter = $eventi[0];
    for (
    $a = 1; $a < $counter+1; $a ++) {
    $checker = explode(",",$eventi[$a]);

    if (
    $checker[0] > 4) {
    $eventi[$counter+1] = $eventi[$counter];
    for (
    $i = 0; i < ($counter-$a);$i++) {
    $eventi[$counter-$i] = $eventi[$counter-1-$i];
    }
    $eventi[$a]='004,4,40';
    $a = $counter;
    $eventi[0]++;
    }
    }
    questo pezzo di codice dovrebbe generare un array con dentro delle stringhe, checkare se i primi 3 numeri della stringa di un valore dell'array (che sono un numero solo) sono maggiori di 4, se si, creare un nuovo buco nell'array e farci scalare un po' di elementi ed infine mettere l'elemento '004,4,40' nel buco creatosi. questo codice mi da un errore di overflow, anche se in effetti non ho idea del perche'.
    (tra parentesi (e ci sono xD), se al posto di mettere 'if ($checker[0] > 4)' metto 'if ($checker[0] > 5)' il codice funziona come voluto - anche se lo mette ovviamente al posto sbagliato-)

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    uhm, il secondo ciclo for è alquanto contorto, tanto che mi fa passare la voglia di leggerlo
    prova a sostituirlo (inclusa la riga che lo precede) con
    Codice PHP:
    for ($i = $counter; $i >= $a; $i--)
    $eventi[$i+1] = $eventi[$i]
    spero che il tutto abbia un senso molto profondo, perché il metodo in sé è un rigiro spaventoso

  3. #3
    Guest

    Predefinito

    beh la mia idea era quella di fare una lista dinamica che occupasse il minimo di spazio, ed essendo io un neofita del php (in c++ ero abituato a farle con i puntatori queste cose) non conosco molto le risorse che il php offre.. se ci sono altri sistemi piu' veloci sono apertissimo agli scambi di idee =D

    ora provo il codice che mi hai dato comunque, grazie ^_^

    EDIT -> Il tuo codice funziona =D
    Ultima modifica di esperimentiacaso : 28-01-2008 alle ore 23.45.03

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •