Maison > développement back-end > Problème PHP > Comment convertir une chaîne php en tableau d'objets

Comment convertir une chaîne php en tableau d'objets

PHPz
Libérer: 2023-04-17 14:37:32
original
731 Les gens l'ont consulté

Dans le processus de développement de sites Web, nous devons souvent convertir des chaînes en tableaux d'objets pour faciliter les opérations sur les données. En PHP, il existe de nombreuses façons de réaliser cette fonction, et cet article vous en présentera une.

1. Utilisez la fonction json_decode

PHP fournit la fonction json_decode, qui peut convertir des chaînes au format JSON en objets ou en tableaux. Voici un exemple simple :

<?php
$str = &#39;{"name": "Tom", "age": 18}&#39;;
$obj = json_decode($str);
print_r($obj);
?>
Copier après la connexion

Le résultat est :

stdClass Object
(
    [name] => Tom
    [age] => 18
)
Copier après la connexion

Comme vous pouvez le voir, la fonction json_decode convertit la chaîne JSON en un objet nommé stdClass.

Si vous souhaitez le convertir en tableau, vous pouvez ajouter le deuxième paramètre true à la fonction, comme indiqué ci-dessous :

<?php
$str = &#39;{"name": "Tom", "age": 18}&#39;;
$arr = json_decode($str, true);
print_r($arr);
?>
Copier après la connexion

Le résultat de sortie est :

Array
(
    [name] => Tom
    [age] => 18
)
Copier après la connexion

Comme vous pouvez le voir, la fonction json_decode convertit la chaîne JSON dans un tableau associatif.

2. Divisez la chaîne par lignes et convertissez-la en tableau

Si votre chaîne n'est pas au format JSON, vous pouvez d'abord la diviser par lignes, puis la traiter ligne par ligne. Voici un exemple simple :

<?php
$str = "Tom,18\nJerry,22\n";
$arr = explode("\n", $str);
foreach($arr as $item) {
    $tmp = explode(",", $item);
    $result[] = array(
        "name" => $tmp[0], 
        "age" => $tmp[1]
    );
}
print_r($result);
?>
Copier après la connexion

Le résultat de sortie est :

Array
(
    [0] => Array
        (
            [name] => Tom
            [age] => 18
        )

    [1] => Array
        (
            [name] => Jerry
            [age] => 22
        )

)
Copier après la connexion

Vous pouvez voir qu'une fois la chaîne divisée par lignes, elle est traitée ligne par ligne et convertie en un tableau contenant plusieurs objets.

3. Utilisez des expressions régulières

Si votre format de chaîne est plus complexe ou si vous devez effectuer un traitement plus complexe sur la chaîne, vous pouvez utiliser des expressions régulières. Voici un exemple simple :

<?php
$str = "name=Tom&age=18&gender=male";
preg_match_all("/(\w+)=([^&]+)/", $str, $matches);
foreach($matches[1] as $key => $value) {
    $result[$value] = $matches[2][$key];
}
print_r($result);
?>
Copier après la connexion

Le résultat de sortie est :

Array
(
    [name] => Tom
    [age] => 18
    [gender] => male
)
Copier après la connexion

Comme vous pouvez le voir, la chaîne de requête est convertie en un tableau associatif à l'aide d'expressions régulières.

Ci-dessus sont trois méthodes de conversion de chaînes en tableaux d'objets. Les lecteurs peuvent choisir la méthode appropriée en fonction de la situation réelle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal