36 votes

Convertir le premier élément d'un tableau en chaîne en PHP

J'ai un tableau PHP et je veux le convertir en chaîne.

Je sais que je peux utiliser join ou implode , mais dans mon cas, le tableau n'a qu'un seul élément. Pourquoi dois-je utiliser des valeurs de combinaison dans un tableau avec un seul élément?

Ce tableau est la sortie de ma fonction PHP qui renvoie un tableau:

 Array(18 => 'Something');
 

Comment est-ce que je convertis ceci en chaîne?

39voto

Berry Langerak Points 11119

Est-il un autre moyen de convertir ce tableau en chaîne de caractères ?

Vous ne voulez pas de convertir le tableau en une chaîne, vous voulez obtenir la valeur de la matrice du seul élément, si j'ai bien lu.

<?php
  $foo = array( 18 => 'Something' );
  $value = array_shift( $foo );
  echo $value; // 'Something'.

?>

À l'aide de array_shift vous n'avez pas à vous inquiéter au sujet de l'indice.

EDIT: vous l'Esprit, array_shift n'est pas la seule fonction qui retourne une valeur unique. array_pop( ), current( ), end( ), reset( ), ils seront tous de retour que d'un seul élément. Toutes les posté des solutions de travail. À l'aide de la matrice de changement même si, vous pouvez être sûr que vous ne pourrez jamais obtenir la première valeur du tableau, même lorsqu'il y a plusieurs.

28voto

Salman A Points 60620

Est-il un autre moyen de convertir ces tableau en chaîne de caractères ?

Oui, il est. serialize(). Il peut convertir différents types de données (y compris les objets et les tableaux) en une représentation sous forme de chaîne que vous pouvez unserialize() à une date ultérieure. La sérialisation d'un tableau associatif comme l' Array(18 => 'Somthing') permettra de préserver à la fois les clés et les valeurs:

<?php
$a = array(18 => 'Something');
echo serialize($a);                                   // a:1:{i:18;s:9:"Something";}
var_dump(unserialize('a:1:{i:18;s:9:"Something";}')); // array(1) {
                                                      //   [18]=>
                                                      //   string(9) "Something"
                                                      // }

11voto

Sven Simon Points 121

Un moyen simple de créer un tableau dans un tableau de chaînes PHP est le suivant:

 <?PHP
    $array = array("firstname"=>"John", "lastname"=>"doe");
    $json = json_encode($array);
    $phpStringArray = str_replace(array("{", "}", ":"), 
                                  array("array(", "}", "=>"), $json);
    echo phpStringArray;
?>
 

8voto

Paolo Stefan Points 3352

Vous pouvez utiliser la fonction reset () , elle retournera le premier membre du tableau.

6voto

John Hargrove Points 401

implode ou join (c'est exactement la même chose) fonctionnerait ici. Alternativement, vous pouvez simplement appeler array_pop et obtenir la valeur du seul élément du tableau.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X