Visualizzazione dei risultati da 1 a 8 su 8

Discussione: array

  1. #1

    array

    ciao gente rieccomi

    io ho un array che lo carico con un ciclo for.

    poi a seconda di qualche controllo che faccio elimino i suoi elementi con unset($nomearray[indice])

    ecco...

    se io voglio stampare il contenuto dell'array ciclando fra i suoi elemnti con un semplice for e faccio

    for (i=0,i < count(..);--)
    echo nomearray(I)
    il count mi sa che conta anche gli spazi vuoti che io ho lasciato e quindi mi fa vedere solo un pezzo del mio array

    se invece faccio foreach ($nomearray as $valore)
    me li fa vedere tutti..

    come faccio??????

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    525
    qual'è il problema??

  3. #3
    io ho due array

    array1
    array2

    a seconda di certe condizioni io devo eliminare un campo dell'array1 e del array2

    con unset(array1(I)) unset (array2(2))

    pero' unset lascia dei buchi!

    io voglio stampare per esempio il contenuto dell'array1(senza buchi) e accanto il corrispondente contenuto dell'array2 (senza buchi)

    cioe' mi serve un ciclo del tipo

    stampo il campo i dell'array 1 e dell'array2 se e' un buco no non lo voglio vedere

    vorrei usare foreach(che i buchi non li fa vedere)
    ma come si fa?

    io posso fare foreach array1 as valore array2 as valore insieme=?===

  4. #4
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Codice PHP:
    foreach($array as $dati){
     if(
    $dati != ""){
     echo 
    $dati;
     }

    Per stampare solo i valori diversi da nullo.

  5. #5
    il problema e che l'iesimo valore dell'array1 deve essere mostrato a video insieme all'iesimo valore dell'array2

    tipo array1(I)="ciao"
    array2(I)="MARIO"

    devo trovare il modo di listarli tutti e due in modo da avere

    ciao mario
    salve luca
    ecc ecc

  6. #6
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Se s tratta solo di stampare valori che risultano nella stessa posizione array basta fare:
    Codice PHP:
    $tot count(array1);
    for(
    $i=0;$i<=$tot;$i++){
    echo 
    $array1[$i]." - "$array2[$i];

    se il problema sta quando cancelli un solo dato da un array e non nell'altro fammi sapere.

  7. #7
    mi sa che e' un bug di php

    se io un array di 20 elementi e ce ne levo 5 con unset()

    se faccio count ovviamente dice che ho 5 elementi

    il problema e che invece in realta sono un array di 20 elementi ma 5 sono vuoti
    cioe'

    array [1,2,3,4,5,6,7,8]

    e levo [1,4,6]

    l'array vero e' [vuoto,2,3,vuoto,5,vuoto,6,7,8]
    quindi count vale 6 ma per accedere all'elemento che mi da 8
    dovrei fare array[8] ...capito??

    il problema e' che dovrei riallineare i valori con gli indici

  8. #8
    Originariamente inviato da nuovonuovo
    mi sa che e' un bug di php

    se io un array di 20 elementi e ce ne levo 5 con unset()

    se faccio count ovviamente dice che ho 5 elementi

    il problema e che invece in realta sono un array di 20 elementi ma 5 sono vuoti
    cioe'

    array [1,2,3,4,5,6,7,8]

    e levo [1,4,6]

    l'array vero e' [vuoto,2,3,vuoto,5,vuoto,6,7,8]
    quindi count vale 6 ma per accedere all'elemento che mi da 8
    dovrei fare array[8] ...capito??

    il problema e' che dovrei riallineare i valori con gli indici
    Fa un pò schifo come soluzione, ma ancora la uso :rollo: :master: ...
    Cmq..
    io faccio così:
    Codice PHP:
    $array1 = array("Mamma","Sorella","Fratella","Fratello","Pappo");
    //Per cancellare.....
    for($i 0;$i count($array1);$i++) {
    if(
    $array1[$i] != "Fratella") {
    $array2[$i] = $array1[$i];
    }
    //et voilà ci ritroviamo array2 senza Fratella, ma con i count esatti! infatti facendo
    echo count($array2);
    //restituisce 4 
    Come vedi ho creato un nuovo array.... ma tanto non so come si potrebbe fare altrimenti!
    Forse un bel foreach e un controllo if($array1[$i] == "") { non scrivere!!!!! }else{ fai fai}

    Ciaoooo!
    PER CASO ti serve un guestbook, completamente personalizzabile?e PER CASO lo vuoi anche gratis e senza pop-up o dialer?E allora prova il nuovo NewAge GuestBook..Niente per caso, tutto perfetto

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 © 2024 vBulletin Solutions, Inc. All rights reserved.