Converti oggetto in String PHP

Converti oggetto in String PHP
Per qualsiasi linguaggio di programmazione orientato all'obiettivo, i concetti di oggetti e stringhe sono elementi fondamentali. PHP si basa su oggetti e stringhe per fornire flessibilità e funzionalità. Questo articolo discuterà di come è possibile convertire un oggetto PHP in una stringa usando vari metodi.

Utilizzo della funzione print_r ()

Il primo tecnico che possiamo usare per convertire un oggetto in una stringa è la funzione print_r. La funzione prende il valore da stampare e un parametro di ritorno. Il parametro di ritorno è un valore booleano.

Ad esempio, per convertire un oggetto in una stringa utilizzando la funzione Print_r, possiamo fornire l'oggetto come primo parametro (valore da stampare sullo schermo) e un true booleano come secondo parametro.

La sintassi della funzione è come mostrata:

print_r (misto $ value, bool $ return);

Per impostazione predefinita, il valore booleano è impostato su false. Se non fornito, la funzione Print_r stamperà il valore della variabile fornita.

Facciamo un semplice esempio. Creeremo una semplice classe di auto con due variabili: il nome e il prezzo. Creeremo un costruttore con il nome e il prezzo come parametri e variabili.

Infine, creiamo un oggetto dalla classe automobilistica e forniamo loro dati di esempio per il nome e il prezzo. Per convertire l'oggetto in una stringa, useremo la funzione print_r come mostrato nell'esempio seguente:

Class Car
Nome $ protetto;
Prezzo $ protetto;
funzione pubblica __construct ($ name, $ price)
$ this-> name = $ name;
$ this-> price = $ prezzo;


$ MyCar = New Car ("Ford", 25000);
$ obj_str = print_r ($ mycar, true);
echo $ obj_str;
?>

Una volta eseguito l'esempio sopra, dovresti vedere e produrre con il convertito Oggetto in una stringa.

PHP Magic Methods (_ToString ())

La seconda tecnica che possiamo usare per convertire un oggetto in una stringa è la funzione _tostring (). Questa funzione è definita come parte della funzione magica PHP. La funzione _tostring () non accetta argomenti e ha un valore di ritorno della stringa.

L'esempio seguente mostra come utilizzare la funzione per restituire un oggetto come stringa.

Class Car
privato $ nome;
Prezzo privato $;
funzione pubblica __construct ($ name, $ price)
$ this-> name = $ name;
$ this-> price = $ prezzo;

funzione pubblica __ToString ()
return "Modello automobilistico $ this-> Nome. Prezzo $ questo-> prezzo ";


$ MyCar = New Car ("Ford", "25000");
Echo $ MyCar;
?>

L'esempio sopra è strettamente identico a quello precedente. Tuttavia, utilizziamo il metodo __ToString per convertire l'oggetto in una stringa. L'output dell'esempio sopra è come mostrato:

Modello di auto Ford. Prezzo 25000

Se rimuovi il metodo __ToString () e si tenta di eseguire il comando sopra, è necessario vedere un errore come:

Errore fatale PHP: errore non accompagnato: l'oggetto di Class Car non può essere convertito in stringa.

Funzione php serializza ()

Diamo ora un'occhiata a un modo più non convenzionale per convertire un oggetto in una stringa. Il metodo serializzante () converte un valore specificato in un byte-stream. Questa funzione è corretta quando è necessario archiviare una sessione. Usando la funzione serializza (), possiamo passare l'oggetto e restituire una sequenza di byte.

Un utilizzo di esempio può essere mostrato nel codice seguente.

Class Car
privato $ name = "Ford";
privato $ price = "25000 $";
Funzione pubblica Wha_Car ()
Echo "Modello: $ this-> Nome and Price: $ this-> Price", "\ n";


$ mycar = nuova auto;
$ myCar-> WHE_CAR ();
$ serializzato = serializza ($ mycar);
Echo $ serializzato;
?>

Una volta eseguito il codice sopra, il codice dovrebbe restituire una stringa serializzata come mostrato:

Modello: Ford e prezzo: 25000 $
O: 3: "auto": 2: s: 7: "*name"; s: 4: "ford"; s: 8: "*prezzo"; s: 6: "25000 $";

Chiusura

Questo tutorial ti mostra vari modi per convertire un oggetto in una stringa usando PHP. Tieni presente che c'è di più nelle funzioni di quanto discusso in questo tutorial. Guarda nella documentazione per saperne di più.