2016-04-25 16 views
-2

setzen Ich habe ein Array, das ich in Komma getrennt hier umgewandelt worden ist, wie ich es tat:wie durch Komma getrennte Wörter in Array

$array[] = $imp; 
$strings = implode(", ", $array); 

Nach implodieren erhalte ich 34, 56, 78.

jetzt habe ich ein Array in Session gespeichert und ich möchte $strings in sie hinzufügen:

array_push($_SESSION['array'],$strings); 

Aber wenn gedruckt erhalte ich:

Array ([0] => 191 [2] => 34, 56, 78) 

I 34 hinzufügen möchten, 56, 78 Wert getrennt, so dass Array wie folgt aussehen:

Array ([0] => 191 [2] => 34 [3] => 56 [4] => 78) 
+4

Warum implodieren Sie das Array, wenn Sie einen Array wollen? – AbraCadaver

+0

'$ _SESSION ['array'] = array_merge ($ _ SESSION ['array'], $ array);' –

+0

weil das array aus einer anderen php-datei stammt und durch ajax war es wenig schwierig –

Antwort

0

Copy-Paste nächster Code und in Ihrem Browser ausführen:

<html> 
    <head> 
    </head> 
    <body> 
<?php 
$_SESSION[ "arr" ] = array("100","200","300"); 
$strings = "34,56,78"; 
$_SESSION[ "arr" ] = array_merge($_SESSION[ "arr" ],explode(",",$strings)); 
var_dump($_SESSION[ "arr" ]); 
?> 
    </body> 
</html> 
+0

Warum explodieren? Just implodieren Sie nicht. – AbraCadaver

+0

Der String '" 34,56,78 "' wird generiert mit 'implode()' – Mike

+0

@ JoseManuelAbarcaRodríguez Dann ist Ihre Antwort unabhängig von der Frage. – Mike

3

Warum Sie das Array implodieren haben, wenn Sie ein Array wollen? Tun Sie das einfach:

$_SESSION['array'] = array_merge($_SESSION['array'], $imp); 
0

Hier ist die Lösung für Sie.

<?php 
$arr= array('5','10,20,30'); 
$newArr = []; 
foreach ($arr as $key => $value) {  
    $element = explode(',',$value); 
    if (count($element)>1) { 
     echo "This is an array"; 
     foreach ($element as $key => $value1) { 
     $newArr[]=$value1; 
     } 
    } else { 
     echo "Not an array"; 
     $newArr[]=$value; 
    } 
} 
echo "<pre>";print_r($newArr); 

?>