web-dev-qa-db-ja.com

PHPで2つの文字列を組み合わせる方法は?

欲しいものをどのように記述するかは実際にはわかりませんが、お見せしましょう。

例えば:

$data1 = "the color is";
$data2 = "red";

$ resultが$data1$data2の組み合わせになるようにするにはどうすればよいですか(または処理します)?

望ましい結果:

$result = "the color is red";
116
glennanyway
$result = $data1 . $data2;

これは文字列連結と呼ばれます。あなたの例はスペースを欠いていますが、そのためには特に、あなたは必要となるでしょう:

$result = $data1 . ' ' . $data2;
179
Logan Serman

2つの文字列を連結する方法はいくつかあります。

連結演算子.(および.=)を使用する

In PHP .は、その左右の引数の連結を返す連結演算子です。

$data1 = "the color is";
$data2 = "red";
$result = $data1 . ' ' . $data2;

文字列を別の文字列に追加したい場合は、.=演算子を使用します。

$data1 = "the color is ";
$data1 .= "red"

複雑な(中)構文/二重引用符で囲まれた文字列

二重引用符で囲まれた文字列に含まれる_ PHP変数は補間されます(すなわち、それらの値は変数に対して "スワップアウト"されます)。つまり、文字列の代わりに変数を配置し、それらの間にスペースを入れることができます。中括弧は、変数がどこにあるかを明確にします。

$result = "{$data1} {$data2}";

注:これはあなたのケースでは中括弧なしでも動作します。

$result = "$data1 $data2";

sprintf()またはprintf()を使用

sprintf() を使うと、強力なフォーマットオプションを使って文字列をフォーマットできます。このような単純な連結にはやり過ぎですが、複雑な文字列がある場合やデータの書式設定を行いたい場合に便利です。

$result = sprintf("%s %s", $data1, $data2);

printf()も同じことをしますが、すぐに出力を表示します。

printf("%s %s", $data1, $data2);
// same as
$result = sprintf("%s %s", $data1, $data2);
echo $result;

Heredoc

Heredocs を使って変数を文字列にまとめることもできます。

$result= <<<EOT
$data1 $data2
EOT;

echo()と共に,を使用する

これは、コンテンツをエコーアウトして変数に代入しない場合にのみ機能します。ただし、PHPの表現のリストをカンマで区切ってエコーアウトし、それらの表現の1つとして空白スペースを1つ含む文字列を使用できます。

echo $data1, ' ', $data2;
71
John Conde

誰もこれを述べなかったが他の可能性がある。私は巨大なSQLクエリにそれを使っています。あなたは。=演算子を使うことができます:)

$string = "the color is ";
$string .= "red";

echo $string; // gives: the color is red
19
codelame

.演算子でそれらを連結します。

$result = $data1 . " " . $data2;

あるいは、文字列補間を使います。

$result = "$data1 $data2";
17
Jeremy Ruten
$result = implode(' ', array($data1, $data2));

より一般的です。

利用可能な別の形式はこれです:

<?php
$data1 = "the color is";
$data2 = "red";
$result = "{$data1} {$data2}";
8
Tim G

次のコード行を試すことができます

$result = $data1." ".$data2;
6
user710502

PHPを使用してこれを行うことができます。

$txt1 = "the color is";
$txt2 = " red!";
echo $txt1.$txt2;

これは2つの文字列を結合し、プットは「色は赤です!」になります。

5
sunil
$result = $data1 . $data2;

これを試して

5
Farhan

ピリオドは文字列を連結するために使用されます。 2つの文字列変数を1つの変数に変える簡単な例:

$full = $part1 . $part2;

あなたの例では、あなたはしたいと思うでしょう:

$result = $data1 . ' ' . $data2;

2つの変数の間に1つのスペースの文字列を追加したことに気付くでしょう。これは、元の$data1がスペースで終わっていなかったためです。それなしでそれらを結合したなら、あなたの$result変数はthe color isredのようになってしまうでしょう。

4
Aken Roberts

これはあなたのために働くはずです:

$result = $data1." ".$data2;

参照: PHP文字列変数

3
Robert
$s = "my name is ";

$s .= "keyur";

echo $s; 

結果:

my name is keyur
2
keyur sojitra

私はあなたの要求が何であるかはっきりとはわかりませんが、基本的にあなたは2つの変数を別々に定義し、その後それらを一緒に組み合わせることができます。

$data1="The colour is ";
$data2="red";

$result=$data1.$data2;

そうすることで、$ data2をグローバルレベルとして宣言することもできます。そのため、実行中にその値を変更することができます。たとえば、チェックボックスから "red"という答えを得ることができます。

1
Yoosuf

1.文字列を連結します(各文字列間のスペース)

コードスニペット:

<?php
 $txt1 = "Sachin";
 $txt2 = "Tendulkar";

 $result = $txt1.$txt2 ;
 echo  $result. "\n";
 ?>  

アウトプット:SachinTendulkar

2.スペースが存在する場所に文字列を連結します

コードスニペット:

<?php
 $txt1 = "Sachin";
 $txt2 = "Tendulkar";

 $result = $txt1." ".$txt2; 
 echo  $result. "\n";
?>  

アウトプット:Sachin Tendulkar

  1. Printf関数を使って文字列を連結します。

コードスニペット:

  <?php
 $data1 = "Sachin";
 $data2 = "Tendulkar";
 printf("%s%s\n",$data1, $data2);
 printf("%s %s\n",$data1, $data2); 
?>

出力:
SachinTendulkar
Sachin Tendulkar

0
rashedcs

私は、最もパフォーマンスの良い方法は次のように考えています。

$data1 = "the color is";
$data2 = "red";
$result = $data1 . ' ' . $data2;

ローカライズを実装したい場合は、次のようにします。

$translationText = "the color is %s";
$translationRed  = "red";
$result = sprintf($translationText, $translationRed);

少し遅くなりますが、文法規則を想定していません。

0