Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2015
    Messaggi
    6

    Ridefinizione di una variabile stringa

    Buongiorno a tutti,

    Vi è un modo in PHP di ridefinire una variabile stringa come un array (come con un puntatore in C)
    affinchè entrambe le variabili condividano la stessa area di memoria ?

    Vi ringrazio.

  2. #2
    Codice PHP:

    $foo 
    "foo";

    var_dump($foo);

    $bar = ["hello","world"];

    var_dump($bar);

    $foo $bar;

    var_dump($foo);

    $foo[0] = "Goodmorning";

    var_dump($foo);
    var_dump($bar); 
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2015
    Messaggi
    6
    Ti ringrazio della risposta,

    Tuttavia io intendevo una cosa diversa, nel senso che desideravo che le due variabili condividessero la stessa area di memoria non che avessero contenuto identico.
    Infatti l'istruzione $foo = $bar; copia il contenuto e le caratteristiche di array da $bar a $foo, ma sono due aree di memoria distinte, tant'è che quando tu metti Goodmorning in foo[0] $bar continua ad avere il vecchio contenuto.

    Cosa diversa è invece un puntatore che fa si che l'area di memoria sia unica e tutte le variazioni sono riportate su tutte le variabili di riferimento.



  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,469
    Codice PHP:
    $foo 'pippo';

    $bar = &$foo;

    echo 
    $foo '<br>';
    echo 
    $bar '<br>';

    $foo 'topolino';

    echo 
    $foo '<br>';
    echo 
    $bar '<br>';

    $bar 'pluto';

    echo 
    $foo '<br>';
    echo 
    $bar

  5. #5
    Si è che ero rimasto "spiazzato" dalla richiesta di modifica di una variabile "stringa" in un array attraverso l'uso del puntatore... nel senso: "ma perchè vuole farlo?"

    cmq Alhazred ha risposto
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2015
    Messaggi
    6
    Mi spiego meglio.
    Ho per esempio una stringa alfanumerica di 5 caratteri, avrei bisogno di ridefinirci sopra un array di 5 elementi di un carattere per poterlo gestire tramite indici, invece che con substr o substr_replace che sono molto lente.

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,469
    E dover prima convertire la stringa in un array e poi lavorare con l'array rende le operazioni veloci?
    Comunque guarda str_split().

Tag per questa discussione

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.