不確定な数の文字列を連結する必要があります。隣接する2つの文字列の間にスペースが必要です。ようにa b c d e f
。PHPで文字列を連結する最良の方法
また、先頭と末尾に空白を入れたくないのですが、これをPHPで行うにはどうすればよいですか?
不確定な数の文字列を連結する必要があります。隣接する2つの文字列の間にスペースが必要です。ようにa b c d e f
。PHPで文字列を連結する最良の方法
また、先頭と末尾に空白を入れたくないのですが、これをPHPで行うにはどうすればよいですか?
$str = implode(' ', array('a', 'b', 'c', 'd', 'e', 'f'));
を意味しますか?あなたは将来の変更のためのプロセスを制御することができ、このように
$res = "";
foreach($strings as $str) {
$res.= $str." ";
}
if(strlen($res > 0))
$res = substr($res,-1);
:
ありがとうございました。 – freshest
あなたは配列に収集されたすべてのこれらの文字列を持っていることを考慮すると、方法は、それは同様のforeach文の谷することができません。
あなたが 'implode()'を持っているときに、サウンドが過剰です。 – kapa
私は知っていますが、私は通常、物事を開いて制御して、未知のデータ型に直面しているときにいつでも変更を加える自由を与えています。今は文字列ですが、私はそのような自由を持つことが好きです。私はいつも、それを単純なimplode/joinに変更する時間があります。 – holographix
あなたの解決法( 'foreach'の使用法)は、文字列が配列内にあるとみなします。 'implode'の使い方は、文字列が配列内にあると仮定します。私はここで自由を見ません、私は読みやすさを減らす不必要な線の束を参照してください。 – kapa
$strings = array(" asd " , NULL, "", " dasd ", "Dasd ", "", "", NULL);
function isValid($v){
return empty($v) || !$v ? false : true;
}
$concatenated = trim(implode(" ", array_map("trim", array_filter($strings, "isValid"))));
//"asd dasd Dasd"
function concatenate()
{
$return = array();
$numargs = func_num_args();
$arg_list = func_get_args();
for($i = 0; $i < $numargs; $i++)
{
if(empty($arg_list[$i])) continue;
$return[] = trim($arg_list[$i]);
}
return implode(' ', $return);
}
echo concatenate("Mark ", " as ", " correct");
簡単な方法は次のとおりです。
$string="hello" . " " . "world";
、あなたがしたくないこれらは、 "a、b ,, d ,, f"のような連結された文字列に現れるようにするには、以下を使用する方が良いでしょう:
$ str = implode( '、'、array_filter(array( 'a'、 'b'、 ''、 'd'、 ''、 'f'))));
これらの文字列をどのように保存しますか?それらは配列にありますか?あるいは、別々の変数で? – kapa
これらは別々の変数です.vriableが設定されていない場合、または空の文字列の場合は、連結された文字列に含める必要はありません。 – freshest
@freshestどのように変数が生成されますか?自由変数の代わりに配列に値を入れることはできませんか? – deviousdodo