欲しいものをどのように記述するかは実際にはわかりませんが、お見せしましょう。
例えば:
$data1 = "the color is";
$data2 = "red";
$ resultが$data1
と$data2
の組み合わせになるようにするにはどうすればよいですか(または処理します)?
望ましい結果:
$result = "the color is red";
$result = $data1 . $data2;
これは文字列連結と呼ばれます。あなたの例はスペースを欠いていますが、そのためには特に、あなたは必要となるでしょう:
$result = $data1 . ' ' . $data2;
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;
誰もこれを述べなかったが他の可能性がある。私は巨大なSQLクエリにそれを使っています。あなたは。=演算子を使うことができます:)
$string = "the color is ";
$string .= "red";
echo $string; // gives: the color is red
.
演算子でそれらを連結します。
$result = $data1 . " " . $data2;
あるいは、文字列補間を使います。
$result = "$data1 $data2";
$result = implode(' ', array($data1, $data2));
より一般的です。
利用可能な別の形式はこれです:
<?php
$data1 = "the color is";
$data2 = "red";
$result = "{$data1} {$data2}";
次のコード行を試すことができます
$result = $data1." ".$data2;
PHPを使用してこれを行うことができます。
$txt1 = "the color is";
$txt2 = " red!";
echo $txt1.$txt2;
これは2つの文字列を結合し、プットは「色は赤です!」になります。
$result = $data1 . $data2;
これを試して
ピリオドは文字列を連結するために使用されます。 2つの文字列変数を1つの変数に変える簡単な例:
$full = $part1 . $part2;
あなたの例では、あなたはしたいと思うでしょう:
$result = $data1 . ' ' . $data2;
2つの変数の間に1つのスペースの文字列を追加したことに気付くでしょう。これは、元の$data1
がスペースで終わっていなかったためです。それなしでそれらを結合したなら、あなたの$result
変数はthe color isred
のようになってしまうでしょう。
$s = "my name is ";
$s .= "keyur";
echo $s;
結果:
my name is keyur
私はあなたの要求が何であるかはっきりとはわかりませんが、基本的にあなたは2つの変数を別々に定義し、その後それらを一緒に組み合わせることができます。
$data1="The colour is ";
$data2="red";
$result=$data1.$data2;
そうすることで、$ data2をグローバルレベルとして宣言することもできます。そのため、実行中にその値を変更することができます。たとえば、チェックボックスから "red"という答えを得ることができます。
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
- Printf関数を使って文字列を連結します。
コードスニペット:
<?php
$data1 = "Sachin";
$data2 = "Tendulkar";
printf("%s%s\n",$data1, $data2);
printf("%s %s\n",$data1, $data2);
?>
出力:
SachinTendulkar
Sachin Tendulkar
私は、最もパフォーマンスの良い方法は次のように考えています。
$data1 = "the color is";
$data2 = "red";
$result = $data1 . ' ' . $data2;
ローカライズを実装したい場合は、次のようにします。
$translationText = "the color is %s";
$translationRed = "red";
$result = sprintf($translationText, $translationRed);
少し遅くなりますが、文法規則を想定していません。