Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481

    funzione per inserire un valore nel mezzo di un array

    Esiste in php qualcosa tipo array_push che però ti da la possibilità di scegliere in che posizione inserire il dato e fa scorrere l'indice di una unità ogni elemento successivo?

  2. #2
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    oppure una funzione che dato un array associativo, modifica tutti gli indici rendendoli numerici, standard.

  3. #3
    Originariamente inviato da james
    oppure una funzione che dato un array associativo, modifica tutti gli indici rendendoli numerici, standard.
    non capisco cosa devi fare.. se devi ordinare ci sono la funzione sort, e rsort ma per fare quello che dici tu sopra non c'è una funzione specifica...

    c'è array_push ma inserisce l'elemento alla fine dell'array..vedi un po te..cmq sul sito www.php.net c'è la guida in italiano scaricabile (.chm)...
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  4. #4
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    Originariamente inviato da Whitecrowsrain
    non capisco cosa devi fare.. se devi ordinare ci sono la funzione sort, e rsort ma per fare quello che dici tu sopra non c'è una funzione specifica...

    c'è array_push ma inserisce l'elemento alla fine dell'array..vedi un po te..cmq sul sito www.php.net c'è la guida in italiano scaricabile (.chm)...
    grazie, ho la necessità semplicemente di inserire un valore non all'inizio ne alla fine di un array quindi la push non va bene, ma nel bel mezzo dell'array, esigenza strana...grazie del tuo aiuto in ogni caso

  5. #5
    Originariamente inviato da james
    grazie, ho la necessità semplicemente di inserire un valore non all'inizio ne alla fine di un array quindi la push non va bene, ma nel bel mezzo dell'array, esigenza strana...grazie del tuo aiuto in ogni caso
    l'algoritmo per quello che devi far tu cmq non è così complicato:

    Codice PHP:
    <?
      
    ..
      
    //array da manipolare
      
    $array=('a','b','c','d','e','f','g');
      
    //supponiamo che tu voglia inserire alla posizione 4 dell'array la lettera a
      
    $i=3;
      
    // sposti i valori dell'array alla posizione successiva partendo dall'indice dove vorresti inserire il 
      // nuovo valore creando una sorta di "buco"
      
    while (array[$i]<>'')
      {
         
    $array[$i+1]=$array[$i];
         
    $i++;
      }

      
    //poi inserisci il valore nel "buco" da te precedentemente creato cioè nella posizione 4
      
    $array[3]='a';

      
    // N.B. io sono partito come indice iniziale con 0 ma se vuoi puoi anche partire da 1
    ..
    ?>
    Spero che sia chiaro.. non l'ho testato perchè mi sembra esatto e magari ha qualche piccola imperfezione ma l'idea è quella giusta...

    vedi un po' te!
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  6. #6

    esiste !!!!!!!!!!!!!

    Dopo aver ululato alla luna per un paio di mesi … poi ho trovato la soluzione

    bisogna usare
    array_splice

    ma con gli opportuni parametri
    ecco un esempio

    $input = array("red", "green", "blue", "yellow");
    print_r($input);
    echo 'dopooooooooooooooooooooooooooooooooooooooooo';
    array_splice($input, 2, 0, "purple");
    print_r($input);

    risultato :

    Array
    (
    [0] => red
    [1] => green
    [2] => blue
    [3] => yellow
    )
    dopoooooooooooooooooooooooooooooooooooooooooArray
    (
    [0] => red
    [1] => green
    [2] => purple
    [3] => blue
    [4] => yellow
    )
    vedi la documentazione di array_splice() su php.net

    fra la teoria e la pratica teoricamente non c'è differenza ma praticamente si

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.