0

配列間の空白を削除したいのですが、トリムなどの別のコードを使用しましたが、削除されません。トリミングは、単語自体の間ではなく、スペースの外側にあるためだと思います。私はPHPを使用しています。

これはR用ですが、次のようなものです:文字列からすべての空白を削除するには?

コードを次のように変更しました。

<?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
4

3 に答える 3

3

構文を変更するだけで簡単です

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

この構文に:

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

$res の空白を削除します。

試してみましたか?


http://nanamo3lyana.blogspot.com/

于 2012-06-23T17:32:16.917 に答える
0

デバッグにのみ print_r を使用します。これを試してください

foreach($words as $element) 
{
    if(is_array($element))
    {
      echo implode($element) . "<br />";
    }
    else
    {
      echo $element . "<br />";
    }
}
于 2012-06-23T17:17:56.987 に答える
0

何をしていても、関数自体がスペースを追加するため、 print_r()を使用しないでください...

配列をループして、すべての要素を出力するだけです。

foreach($words as $element) {

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

    echo '<br />';
}
于 2012-06-23T17:09:46.857 に答える