2016-04-25 49 views
-2

我有我已轉換成逗號分隔這裏的數組是怎麼做的:如何把逗號分隔的單詞到數組

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

破滅後,我得到34,56,78

現在我已經存儲在會話數組,我想補充$strings成什麼樣子:

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

但是打印時,我得到:

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

我想單獨添加34,56,78值,使得數組可以是這樣的:

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

爲什麼,如果你想要一個數組你破滅的陣列? – AbraCadaver

+0

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

+0

因爲該數組來自另一個php文件並且通過ajax,所以處理 –

回答

0

複製粘貼下面的代碼,並在瀏覽器中運行:

<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

爲什麼爆炸?只是不要內爆。 – AbraCadaver

+0

使用'implode()'生成字符串'「34,56,78」' – Mike

+0

@JoseManuelAbarcaRodríguez然後你的回答與問題無關。 – Mike

3

你爲什麼要破滅的數組,如果你想要一個數組?只要這樣做:

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

這是您的解決方案。

<?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); 

?>