Visualizzazione risultati 1 fino 6 di 6

Discussione: Controllare se un numero è multiplo di un altro con PHP.

  1. #1
    Guest

    Predefinito Controllare se un numero è multiplo di un altro con PHP.

    Allora ragazzi, devo creare un controllo in un foreach, che controlli se il numero dell'array è un multiplo di un altro (supponiamo 3).

    Ho un array() di 23 elementi, quindi ogni 3 elementi (al 3°, 6°, 9° ecc ecc) devo mostrare un break (<br />) in modo da andare a capo nella lista.

    Per ora faccio così:
    Codice PHP:
    $number = 1;
    while(
    $number <= count($genres))
    {
    if(
    /* CONDIZIONE SE IL NUMERO E' MULTIPLO */)
    {
    #Codice

    }

    $template->assign_block_vars('genre', array(
    'ID' => $number,
    'NAME' => $genres[$number],
    ));
    $number++;
    }
    Avete un'idea di come potrei fare?

  2. #2
    Guest

    Predefinito

    Codice PHP:
    if (!($numero % 3))
    {
    ...
    Cioè se il resto della divisone tra $numero e 3 è 0 vuol dire che è divisibile per tre.

  3. #3
    Guest

    Predefinito

    Ho questo codice:
    Codice PHP:
    $number = 1;
    while(
    $number <= count($genres))
    {
    $template->assign_block_vars('genre', array(
    'ID' => $number,
    'NAME' => $genres[$number],
    ));

    if(
    $number % 3)
    {
    $template->assign_var('BREAK', true);
    }
    $number++;
    }
    Però la condizione mi restituisce BREAK sempre true!

    Dovrei ottenere:
    Codice HTML:
    1 2 3 <br />
    4 5 6 <br />
    7 8 9 <br />
    10 11 12 <br />
    13 14 15 <br />
    16 17 18 <br />
    19 20 21 <br />
    22 23
    Invece ottengo:
    Codice:
    1 <br />
    2 <br />
    3 <br />
    4 <br />
    5 <br />
    6 <br />
    7 <br />
    8 <br />
    9 <br />
    10 <br />
    11 <br />
    12 <br />
    13 <br />
    14 <br />
    15 <br />
    16 <br />
    17 <br />
    18 <br />
    19 <br />
    20 <br />
    21 <br />
    22 <br />
    23<br />
    Non riesco a cavarne piede

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,572

    Predefinito

    if($number % 3 == 0 ) (almeno in C è così...)

    Infatti l'operatore % restituisce il resto della divisione tra $number e 3. Se number è un multiplo, restituisce 0; quindi dovresti negarlo; in definitiva:

    Codice PHP:
    if($number % 3 != 0)
    Ciao!

    EDIT:

    Di più nel tuo codice non ti so dire, perché come ben sai, non so usare quel maledetto operatore {in realtà non ci ho nemmeno riguardato bene, ma...}

    Ciao!
    Ultima modifica di alemoppo : 17-07-2009 alle ore 21.03.10

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    if($number % 3 == 0 ) (almeno in C è così...)

    Infatti l'operatore % restituisce il resto della divisione tra $number e 3. Se number è un multiplo, restituisce 0; quindi dovresti negarlo; in definitiva:

    Codice PHP:
    if($number % 3 != 0)
    Ciao!

    EDIT:

    Di più nel tuo codice non ti so dire, perché come ben sai, non so usare quel maledetto operatore {in realtà non ci ho nemmeno riguardato bene, ma...}

    Ciao!
    .. Come avevo scritto io ;)

  6. #6
    Guest

    Predefinito

    Ho risolto così:
    Codice PHP:
    $number = 1;
    while(
    $number <= count($genres))
    {
    $template->assign_block_vars('genre', array(
    'ID' => $number,
    'NAME' => $genres[$number],
    'BREAK' => (($number % 3) == 0) ? '<br clear="all" />' : '',
    ));

    $number++;
    }

Regole di scrittura

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