Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885

    questione su array bidimensionali utilizzando un for

    ciao a tutti ...
    io ho un array bidimensionale.

    $a = array (
    nome => array(1 => 'luisa' , 2 => 'mario' , 3 => 'pino'),
    cognome => array (1 => 'piombelli' , 2 => 'ramastro' , 3 => 'cumelli')
    //e cosi via
    );


    se uso un doppio foreach mi prende il primo valore(nome) e scorre fino alla fine dell'array interno;
    subito dopo fa lo stesso con cognome.

    ma se io volessi usare un annidamento di for come faccio?

    mi spiego io ho
    <?php
    $conto = count($a);
    for ($p = 0 ; $p < $conto ; $p++){
    $contoA = count ($a[?]) //dentro $a[] che tipo di incremento inserisco? è una cosa fattibile?
    for ($l = 1 ; $l < $contoA ; $ l++){
    //fccio cio che devo
    }
    }
    ?>

    se non si può inserire un incrementatore numerico posso sostituire tutti gli indici con un numero ?

    grazie delle risp

  2. #2
    Se vuoi usare indici numerici devi usare un array... con indici numerici. Il tuo array ha delle stringhe come chiavi, quindi devi usare foreach.

  3. #3
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    ok , perfetto ... era solo un grosso dubbio.

    ora però mi sorge spontanea una domanda ... posso ricreare i valori dell'array tipo un replace_array?

    sempre all'interno di un ciclo foreach ovfviamente!
    ciao

  4. #4
    Puoi copiare l'array in uno nuovo assegnando indici numerici, pero' o cambi la struttura dell'array oppure perdi "nome" e "cognome". Forse e' meglio se spieghi esattamente cosa devi fare (quell'array ha una struttura un po' strana).

  5. #5
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    ho preso un esempio che ho trovato in rete, ed effettivamente è strana...

    ossia ...

    io questo array multidimensionale lo avrei fatto cosi ;

    $array = array(
    0 => array (nome => 'pippo' , cognome => 'kiolotas' , eta => 27 , sesso => 'indefinito'),
    1 => array (nome => 'marco' , cognome => 'romenola' , eta => 99 , sesso => 'maschio' )
    )

    e cosi via!
    in maniera da avere tutti i dati in una cella del mio array...

    però come esempio per far capire come funziona va molto bene anche quello!

    in realta, mi è venuta curiosita nel vederlo e volevo sapere se era fattibile fare una roba tipo riordinare gli indici in maniera da prelevare dei dati con un senso compiuto... o meglio per riuscirlo ad intabellare.

    anchio ho pensato di ciclare e riassegnare il tutto ... ma volevo sapere se cera un metodo a me sconosciuto da poter utilizzare per rendere il tutto piu veloce!

  6. #6
    Il fatto e' che l'array del primo post e' "strano" proprio perche' ha una struttura che non rispecchia una tabella: che senso ha fare un array di nomi e uno di cognomi? Ha molto piu' senso l'altro esempio che hai riportato nell'ultimo post.

    Comunque tutto questo non ha nulla a che fare con l'avere indici numerici o no, e' solo una questione di organizzazione dei dati, per esempio il tuo secondo array potrebbe essere anche fatto cosi':

    codice:
    $array = array(
    	'KLTPPP4204985' => array (nome => 'pippo' , cognome => 'kiolotas' , eta => 27 , sesso => 'indefinito'),
    	'RMNMRC4980249' => array (nome => 'marco' , cognome => 'romenola' , eta => 99 , sesso => 'maschio' )
    )
    dove invece dei semplici indici numerici progressivi ho messo dei (finti) codici fiscali. L'array funziona lo stesso, non e' una questione di for o foreach, ma solo di come viene organizzata la sua struttura.

  7. #7
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    a ok ... ora mi è tutto molto più chiaro ...
    avevo visto quel esempio e mi erano venute delle perplessità!!!

    grazie!

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.