Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Undefined Offset

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    178

    Undefined Offset

    Ho letto tutti i post relativi a questo notice ma non riesco a capire come questo codice che sto utilizzando ne genera uno:
    Codice PHP:
    $end = ($start_day 4)? 6:5;
            for (
    $row=1;$row<=$end;$row++)
                {
                    for (
    $col=1;$col<=7;$col++)
                        {  
                            if (
    $dates[$row][$col] == "")
                            
    $dates[$row][$col] = " "
    Qualcuno può darmi una mano?

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    178
    Uppi plz

  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Evidentemente l'array $dates non contiene tutti gli elementi che pensi tu

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    178
    Mi vengono restituiti fino a 7 notice aventi index da 0 a 6, ho visto che qualche altra persona aveva questo problema ma non sono riuscito ad applicare la soluzione che gli è stata proposta sul forum al mio caso. Anzi i notice mi sono raddoppiati

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Il problema è semplice: se tu fai questo test

    if ($dates[$row][$col] == "")

    $dates[$row][$col] deve esistere. Se no ti segnala il notice

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    178
    Ci ho provato fino lala nausea ma non riesco ad eliminare il notice.
    Le righe incriminate sono queste dei due cicli for

    [PHP
    $end = ($start_day > 4)? 6:5;
    for ($row=1;$row<=$end;$row++)
    {
    for ($col=1;$col<=7;$col++)
    {
    if ($dates[$row][$col] == "")
    $dates[$row][$col] = " ";
    [/PHP]

    Se tolgo i due = da <=$end, non tutto il ciclo è stampato correttamente. "Si tratta di un calendario"

    Potete suggerirmi come lasciare invariata la query ma inizializzare gli array in modo che non diano errore? Plz.

  7. #7
    Utente di HTML.it L'avatar di M4rko
    Registrato dal
    Dec 2000
    Messaggi
    619
    Prova con empty()

    codice:
    if (empty($dates[$row][$col])) {
        $dates[$row][$col] = " ";
    }
    In effetti bisognerebbe vedere da dove arriva $dates per saperne di più
    Tutti hanno bisogno di credere in qualcosa.
    Io credo che mi farò un'altra birra.


  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    178
    Perfetto, sembra che hai azzeccato alla prima, ora se metto <= invece di < stampa tutti i caratteri senza notificare nulla.
    Bel colpo, thx.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.