2012-06-23 70 views
0

我想刪除數組之間的空白,但我使用了不同的代碼,如trim,但它不會刪除。我認爲是因爲修剪在外面空間而不是在詞語本身之間。我使用PHP。如何從字符串中的字符串中刪除空格PHP

這是R,但這樣的事情:How to remove all whitespace from a string?

我已經改變了我的代碼如下:

<?php 

function combinations($arr, $n) 
{ 
    $res = array(); 

    foreach ($arr[$n] as $item) 
    { 
     if ($n==count($arr)-1) 
      $res[]=$item; 
     else 
     { 
      $combs = combinations($arr,$n+1); 

      foreach ($combs as $comb) 
      { 
       $res[] = "$item $comb"; 
      } 
     } 
    } 
    return $res; 
} 

$words = array(array(
'PY7AD022031', 
'AD022031', 
'CB5A09XQXU', 
),array(
'HELLO', 
'3040', 
'3022031', 
'07W11', 
'4170B', 
'0682', 
'35570401', 
'103448', 
), array(
'HELLO', 
'3040', 
'3022031', 
'07W11', 
'4170B', 
'0682', 
'35570401', 
'103448', 
)); 

$combos = combinations($words,0); 

$comma_separated = implode("<br />", $combos); 
print("<pre>".print_r($comma_separated,true)."</pre>"); 
//var_dump($combos); 
?> 

它呼應的

PY7AD022031 HELLO HELLO 
PY7AD022031 HELLO 3040 
PY7AD022031 HELLO 3022031 
PY7AD022031 HELLO 07W11 
PY7AD022031 HELLO 4170B 

但我想

PY7AD022031HELLOHELLO 
PY7AD022031HELLO3040 
PY7AD022031HELLO3022031 
PY7AD022031HELLO07W11 
PY7AD022031HELLO4170B 
+1

嘗試[破滅](http://php.net/implode) – hjpotter92

+0

[str_replace函數(http://www.php.net/str_replace)與環豬頭...或者只是編輯組合()函數 – goat

+0

@rambocoder我已經添加了組合函數,任何想法改變什麼? – MOTIVECODEX

回答

3

很簡單只是改變你的語法

$res[] = "$item $comb"; 

到這句法:

$res[] = "$item$comb"; 

刪除空格中你的$ res。

你有試過嗎?


http://nanamo3lyana.blogspot.com/

+0

我已經嘗試過了,它的工作原理就像你想要的@ F4LLCON。 :) – mo3lyana

+0

哈哈哈哇,只是哇,這個簡單的東西,我不得不問....大聲笑謝謝你它的工作確實。 – MOTIVECODEX

+0

哈哈哈... :)歡迎您.... :) – mo3lyana

0

Don不要使用print_r()因爲函數本身會添加空格,不管你在做什麼......

只是遍歷數組並打印所有元素。

foreach($words as $element) { 

    if (is_array($element)) { 
     foreach($element as $v) { 
      echo trim($v); 
     } 
    } 

    echo '<br />'; 
} 
+0

利用的print_r它顯示191種組合,但與您的代碼只顯示'PY7AD022031AD022031CB5A09XQXU HELLO3040302203107W114170B068235570401103448 HELLO3040302203107W114170B068235570401103448'我需要的一切正常顯示,但我想刪除每個單詞之間的空格,但不想也刪除線 – MOTIVECODEX

0

我使用的print_r只爲調試運行,試試這個

foreach($words as $element) 
{ 
    if(is_array($element)) 
    { 
     echo implode($element) . "<br />"; 
    } 
    else 
    { 
     echo $element . "<br />"; 
    } 
} 
+0

不工作:它回聲的'PY7AD022031AD022031CB5A09XQXU HELLO3040302203107W114170B068235570401103448 HELLO3040302203107W114170B068235570401103448'。就是這樣,但我總共有191種組合。 – MOTIVECODEX

+0

你有數組中的數組嗎?這看起來像問題中的數據。你使用正確的數據嗎? – GrayB

+0

我改變了我的問題..也許這是更好的方式 – MOTIVECODEX