Question ToString () équivalent en PHP


Comment convertir la valeur d'une variable PHP en chaîne?

Je cherchais quelque chose de mieux que de concaténer avec une chaîne vide:

$myText = $myVar . '';

Comme le ToString() méthode en Java ou .NET.


493
2017-08-26 13:56


origine


Réponses:


Vous pouvez utiliser le opérateurs de coulée:

$myText = (string)$myVar;

Il y a plus de détails pour la coulée de ficelle et la conversion dans le Section des cordes du manuel PHP, y compris une manipulation spéciale pour les booléens et les zéros.


717
2017-08-26 14:11



Ceci est fait avec le typecasting:

$strvar = (string) $var; // Casts to string
echo $var; // Will cast to string implicitly
var_dump($var); // Will show the true type of the variable

Dans une classe, vous pouvez définir ce qui est sorti en utilisant la méthode magique __toString. Un exemple est ci-dessous:

class Bottles {
    public function __toString()
    {
        return 'Ninety nine green bottles';
    }
}

$ex = new Bottles;
var_dump($ex, (string) $ex);
// Returns: instance of Bottles and "Ninety nine green bottles"

Quelques exemples de moulage de type:

$i = 1;

// int 1
var_dump((int) $i);

// bool true
var_dump((bool) $i);

// string "1"
var_dump((string) 1);

288
2017-08-24 17:31



Utilisation print_r:

$myText = print_r($myVar,true);

Vous pouvez également utiliser comme

$myText = print_r($myVar,true)."foo bar";

cela va définir $myText à une chaîne, comme:

array (
  0 => '11',
)foo bar

Utilisation var_export pour obtenir un peu plus d'informations (avec les types de variables, ...):

$myText = var_export($myVar,true);

119
2018-01-02 08:51



Vous pouvez soit utiliser la typecasting:

$var = (string)$varname;

ou StringValue:

$var = strval($varname);

ou SetType:

$success = settype($varname, 'string');
// $varname itself becomes a string

Ils travaillent tous pour la même chose en termes de Type-Jonglerie.


56
2017-08-26 14:00



Comment puis-je convertir la valeur d'un PHP   variable à la chaîne?

Une valeur peut être convertie en une chaîne en utilisant le (chaîne de caractères) ou la strval () fonction. (Edit: Comme Thomas également déclaré).

Il devrait également être casté automatiquement pour vous lorsque vous l'utilisez comme une chaîne.


32
2017-12-20 15:24



Tu recherches strval:

string strval ( mixed $var )

Obtenez la valeur de chaîne d'une variable.   Voir la documentation sur la chaîne pour   plus d'informations sur la conversion en   chaîne.

Cette fonction n'effectue aucune mise en forme   sur la valeur retournée. Si vous êtes   à la recherche d'un moyen de formater un numérique   valeur comme une chaîne, s'il vous plaît voir   sprintf () ou number_format ().


25
2017-08-26 14:15



Pour les primitives, utilisez simplement (string)$var ou imprimez cette variable immédiatement. PHP est un langage typé dynamiquement et la variable sera castée en chaîne à la volée.

Si vous voulez convertir des objets en chaînes, vous devrez définir __toString() méthode qui renvoie une chaîne. Cette méthode est interdite pour lancer des exceptions.


17
2017-08-26 13:58