3
votes

Le tableau a 1 valeur, comment diviser cette grande chaîne?

Mon tableau php a un tableau avec 1 valeur. Pourtant, la chaîne est assez grande avec des espaces. Je ne peux pas l'exploser comme sa valeur unique. Comment puis-je casser cet espace pour le mettre dans un tableau?

Lorsque j'essaye d'exploser, exemple:

"<pre>" .$output. "</pre>" 

J'obtiens le résultat suivant

Array ( [0] => 893 717 601 576 602 309 926 684 653 204 485 708 341 369 3 39 728 638 556 3 1011 639 476 593 672 773 307 738 587 505 539 467 683 610 760 841 721 734 431 793 867 491 586 581 577 414 299 235 )

Parce que je veux mettre cela dans un tableau avec chaque valeur de chaîne sur une ligne unique, mes efforts pour utiliser les éléments suivants n'ont pas fonctionné.

$explode_output =  explode(' ',$counts);

print_r($explode_output);

Le code ci-dessus sépare le tableau / la chaîne par des espaces, mais je peux voir les mettre en boucle dans des lignes uniques dans une table.

Je pensais que je devais exploser le tableau / sting mais la valeur unique répertorie la chaîne entière.

Toute aide serait géniale.

php

5 commentaires

Et pourquoi vous ne pouvez pas exploser?


Je ne comprends pas pourquoi vous ne pouvez pas l'exploser.


pourquoi ne pas exploser avec l'espace


$ explode_output = exploser ('', $ compte); print_r ($ explode_output);


Est-ce une question PHP ou CSS? Parce que vous pouvez facilement résoudre cela avec CSS: word-break: break-all; espace blanc: pré-emballage;


3 Réponses :


3
votes

Vous pouvez supprimer les espaces et les décomposer en tableau en utilisant la méthode preg_split en PHP. C'est similaire à la méthode split (), mais elle accepte les expressions régulières. Le code ci-dessous peut même diviser des chaînes contenant un ou plusieurs espaces entre elles

$yourArray = Array ("893 717 601 576 602 309 926 684 653 204 485 708 341 369 3 39 728 638 556 3 1011 639 476 593 672 773 307 738 587 505 539 467 683 610 760 841 721 734 431 793 867 491 586 581 577 414 299 235");

$arrayOfStrings = preg_split('/\s+/', $yourArray[0]);
echo "<table>";

for($i=0;$i<count($arrayOfStrings );$i++) {
   echo "<tr><td>".$arrayOfStrings [$i]."</td></tr>";
}

echo "</table>";

Dans votre tableau, vous pouvez maintenant faire une boucle sur les $ arrayOfStrings.


1 commentaires

Cela semble avoir résolu mon problème. Tableau ([0] => 893 [1] => 717 [2] => 603 [3] => 576 ...



4
votes

Vous pouvez facilement l'exploser avec la fonction explode ():

$data =Array ( [0] => 893 717 601 576 602 309 926 684 653 204 485 708 341 369 3 39 728 638 556 3 1011 639 476 593 672 773 307 738 587 505 539 467 683 610 760 841 721 734 431 793 867 491 586 581 577 414 299 235 )

$exp_data = explode(" ",$data[0]);

for($i=0;$i<count($exp_data);$i++)
{
   echo "<tr><td>".$exp_data[$i]."</td></tr>";
}


0 commentaires

4
votes
$array = Array ( [0] => 893 717 601 576 602 309 926 684 653 204 485 708 341 369 3 39 728 638 556 3 1011 639 476 593 672 773 307 738 587 505 539 467 683 610 760 841 721 734 431 793 867 491 586 581 577 414 299 235 )    
$newArray = explode(" ",$array[0] );

0 commentaires