2012-06-23 71 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