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

Comment convertir une chaîne numérique en tableau en php

PHPz
Libérer: 2023-04-26 17:38:19
original
901 Les gens l'ont consulté

En programmation PHP, convertir une chaîne numérique en tableau est un besoin très courant, comme lire une colonne de nombres dans un fichier csv, la stocker sous forme de tableau pour des opérations ultérieures ou lire une colonne d'une base de données. doivent également être convertis en tableaux pour le traitement. Cet article présente plusieurs méthodes pour convertir des chaînes numériques en tableaux.

Méthode 1 : Utilisez la fonction str_split

La fonction str_split peut diviser la chaîne en un tableau, par exemple :

$str = "123456";
$arr = str_split($str);
print_r($arr);
Copier après la connexion

Sortie : #🎜 🎜 #

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Cette méthode est très simple, mais il convient de noter que si la chaîne numérique contient un signe négatif ou un point décimal, cette méthode ne le gérera pas correctement.

Méthode 2 : Utilisez la fonction preg_split

La fonction preg_split peut diviser la chaîne en un tableau selon le délimiteur spécifié, par exemple :

$str = "1,2,3,4,5,6";
$arr = preg_split('/,/', $str);
print_r($arr);
Copier après la connexion
#🎜🎜 #Output :
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Cette méthode est plus flexible que str_split, et différents séparateurs peuvent être spécifiés en fonction de la situation réelle.

Méthode 3 : Utilisez la fonction d'éclatement

La fonction d'éclatement peut également diviser la chaîne en un tableau selon le délimiteur spécifié, par exemple :

$str = "1,2,3,4,5,6";
$arr = explode(',', $str);
print_r($arr);
Copier après la connexion
#🎜 🎜# Sortie :

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Par rapport à la fonction preg_split, la fonction d'explosion est plus concise, mais ses performances sont légèrement pires que celles de preg_split.

Méthode 4 : Utiliser les fonctions str_split et array_map

Cette méthode combine les fonctions str_split et array_map pour convertir une chaîne numérique en tableau, par exemple :

$str = "123456";
$arr = array_map('intval', str_split($str));
print_r($arr);
Copier après la connexion
# 🎜🎜 #Sortie :
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Cette méthode utilise la fonction array_map pour convertir un tableau de chaînes en un tableau d'entiers, tout en conservant la capacité de fractionnement de la fonction str_split.

Méthode 5 : Utilisez des expressions régulières

Si vous devez analyser des chaînes numériques complexes, telles que "1,2,3 | 4,5,6 | 7,8 , 9", peut être analysé à l'aide d'expressions régulières, par exemple :

$str = "1,2,3 | 4,5,6 | 7,8,9";
$arr = preg_split('/[\s|,]+/', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($arr);
Copier après la connexion

Sortie :

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
    [6] => 7
    [7] => 8
    [8] => 9
)
Copier après la connexion

Cette méthode utilise la correspondance [s|,]+ dans les expressions régulières Tous les espaces, tuyaux et des virgules sont utilisés, et l'indicateur PREG_SPLIT_NO_EMPTY est utilisé pour garantir qu'aucun élément vide n'est divisé.

Résumé

Les méthodes ci-dessus peuvent convertir des chaînes numériques en tableaux, chacune avec ses propres avantages et inconvénients. Il est nécessaire de choisir la méthode la plus adaptée à 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!

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