Visualizzazione dei risultati da 1 a 9 su 9

Discussione: arraypush

  1. #1
    Utente di HTML.it L'avatar di amosrm
    Registrato dal
    Nov 2012
    Messaggi
    120

    arraypush

    Buongiorno a tutti
    Ho un esigenza da condividere .
    Ho un Array multidimensionale che si regge in sessione
    in pratica inserisco , memorizzo , edito ed elimino tutto senza problemi .finora
    Ora il mio problemino è inserire in una chiave precisa dei nuovi elementi
    Finora mi avvalevo di popolare l array solo alla fine della matrice .
    Ora mi interessava popolare un nuova riga in mezzo agli indici .
    Sulle guide ho visto array_push , ma non saprei
    come provare ,
    prima fare un array_push e poi un array_value ??

    Grazie A presto
    #

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Ti basterebbe ridichiarare quella chiave, array_push aggiunge semplicemente variabili nell'array alla fine della matrice esempio

  3. #3
    Utente di HTML.it L'avatar di amosrm
    Registrato dal
    Nov 2012
    Messaggi
    120
    ok array_push quindi non serve

    Ti basterebbe ridichiarare quella chiave...

    Intendi questo o
    $nuovielementi=array('chiave',ecc.ecc.)
    $arrayattivo['chiavedainserire']=($nuovielementi);

    popolerebbe le chiavi e gli elementi in mezzo all array ?
    Grazie
    #

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da amosrm
    ok array_push quindi non serve

    Ti basterebbe ridichiarare quella chiave...

    Intendi questo o
    $nuovielementi=array('chiave',ecc.ecc.)
    $arrayattivo['chiavedainserire']=($nuovielementi);

    popolerebbe le chiavi e gli elementi in mezzo all array ?
    Grazie
    Codice PHP:
    $array['esempio']['chiave'] = 'ciao ciao';
    $array['esempio2'] = array('lol'=>'ciao','asd'=>'hey'); 
    Un esempio, ripopolare semplicemente le chiavi

  5. #5
    Utente di HTML.it L'avatar di amosrm
    Registrato dal
    Nov 2012
    Messaggi
    120
    Allroa ho provato
    a ridichiarare
    cos
    Codice PHP:
    if($_GET['aggiungiint']){indice dopo il quale dovrebbe inserire una riga vuota 

    $riga
    =$_GET['aggiungiint'];
     
    $_SESSION['rig']['$riga']=array( 'codice1'=>'0''codice'=>'0''valore'=>'55''unita'=>'0''totale'=>'0''disposizione'=>'0'  );  } 
    manca qualcosa sicuro ,
    #

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Assicurati che la sessione sia startata poi controlla di aver inserito la variabile get correttamente inoltre hai sbagliato nella dichiarazione della chiave

    Codice PHP:
    $riga=$_GET['aggiungiint']; 
     
    $_SESSION['rig'][$riga]=array( 'codice1'=>'0''codice'=>'0''valore'=>'55''unita'=>'0''totale'=>'0''disposizione'=>'0'  ); 

  7. #7
    codice:
    $_SESSION['rig'][$riga] = ....
    cmq ti manca proprio l'idea di fondo, nel senso:

    diamo per scontato che $_SESSION['rig'] sia un array del tipo

    Codice PHP:

    array( 
    => array(),
    => array(),
    => array()
    ...
    => array()

    se tu vuoi "inserire" un elemento tra due posizioni, non puoi fare come ti è stato suggerito, altrimenti perdi una posizione perchè la vai a sovrascrivere!

    se vuoi inserire un nuovo elemento in posizione M, l'array finale sarà coposto da
    array( 0 .. M-1) + Nuovo_Elemento + array(M..N), quindi devi

    Codice PHP:
    $arr = array(
    => 1,
    => 2,
    => 3,
    => 4,
    => 5,
    => 6
    );

    //inserisco un elemento 0 in posizione 3

    $pos 3//inserisco un elemento in posizione 3, ovvero indice 2 (parto da 0!)

    $left array_slice($arr,0,$pos); //restituisce array(0..M-1)
    $new = array('nuovo elemento'); //se l'elemento a sua volta deve essere un array, $new = array(array('codice' => 0 ...));
    $right array_slice($arr,$pos); //restituisce array(M..N);

    $narray array_merge($left,$new,$right);

    print_r($narray); 
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  8. #8
    Utente di HTML.it L'avatar di amosrm
    Registrato dal
    Nov 2012
    Messaggi
    120
    Ok e grazie santino qualcosa succede ma non come mi aspettavo

    cmq. parto dai processi che mi hai scritto
    e hai ragione non è un array di array.
    Codice PHP:
    if($_GET['aggiungiint']){$riga=$_GET['aggiungiint']-1;
    $left array_slice($_SESSION['rig'],0,$riga); //restituisce array(0..M-1) 
    $new =array( 'codice1'=>'0'
    'codice'=>'0''prezzo'=>'55',
     
    'unita'=>'0''totale'=>'0',
     
    'sconto'=>'0');//se l'elemento a sua volta deve essere un array,
     
    $new = array(array('codice' => ...));
     
    $right array_slice($_SESSION['rig'],$riga); //restituisce array(M..N);  
    $_SESSION['rig']= array_merge($left,$new,$right); 
    non so ma ci hai preso non ho il fondo ,spero che per oggi lo trovo
    ciao
    #

  9. #9
    Utente di HTML.it L'avatar di amosrm
    Registrato dal
    Nov 2012
    Messaggi
    120
    ok Grazie di tutto nn ci sarei arrivato neanche tra 20 anni dasolo

    Santino ti sono come al solito debitore .,
    cmq è array di array
    $new =array(array(
    'codice1'=>'0',
    'codice'=>'0',
    'prezzo'=>'55',
    'unita'=>'0',
    'totale'=>'0',
    'sconto'=>'0'))

    Santino Santo subito
    #

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.