পিএইচপি-তে দুটি স্ট্রিং কীভাবে একত্রিত করবেন?


140

আমি যা চেয়েছিলাম তা কীভাবে বর্ণনা করতে হবে তা আমি জানি না তবে আমি আপনাকে প্রদর্শন করব:

উদাহরণ স্বরূপ:

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

আমার কী করা উচিত (বা প্রক্রিয়া) তাই $ ফলাফলের সংমিশ্রণটি $data1এবং $data2?

কাঙ্ক্ষিত ফলাফল:

$result = "the color is red";

13
একে "স্ট্রিং কনটেনটেশন" বলা হয় এবং +সংখ্যার চেয়ে বেশি বিদেশী হওয়া উচিত না । দয়া করে একটি বই / টিউটোরিয়াল দিয়ে শুরু করুন এবং ভাষার প্রাথমিক অপারেটরগুলির সাথে নিজেকে পরিচিত করুন।

1
এটি করার অনেক উপায় আছে। আপনি যদি উত্তরটি দেখতে পান তবে এটি এটি পরীক্ষা করে দেখতে পারেন। তবে সহজতমটি ব্যবহার করুন। উদাহরণস্বরূপ $ ফলাফল = "$ ডেটা 1 $ ডেটা 2"; এটাই. বা $ ফলাফল = $ ডেটা 1 $ ডেটা 2;
jewelhuq

1
@ বিপদ আপনি কী যাদুতে সুরক্ষা স্তর বাড়িয়ে তুলতে পারেন যাতে অপ্রয়োজনীয় পোস্টগুলি এই পৃষ্ঠায় স্তূপবদ্ধ না হয়?
মিকম্যাকুসা

উত্তর:


206
$result = $data1 . $data2;

একে স্ট্রিং কনটেনটেশন বলা হয়। আপনার উদাহরণে যদিও কোনও জায়গার অভাব রয়েছে, সুতরাং বিশেষত এর জন্য আপনার প্রয়োজন হবে:

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

85

দুটি স্ট্রিং একসাথে যুক্ত করার বিভিন্ন উপায় রয়েছে।

সংক্ষিপ্ত অপারেটর .(এবং .=) ব্যবহার করুন

পিএইচপি- .তে কনক্রিটেশন অপারেটর থাকে যা তার ডান এবং বাম যুক্তিগুলির সংমিশ্রণকে ফিরিয়ে দেয়

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

আপনি যদি অন্য স্ট্রিংয়ের স্ট্রিং যুক্ত করতে চান তবে আপনি .=অপারেটরটি ব্যবহার করবেন :

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

কমপ্লেক্স (কোঁকড়ানো) সিনট্যাক্স / ডাবল উদ্ধৃতি স্ট্রিং

ডাবল উদ্ধৃত স্ট্রিংগুলিতে থাকা পিএইচপি ভেরিয়েবলগুলিকে অন্তরবিচ্ছিন্ন করা হয় (অর্থাত্ ভেরিয়েবলের জন্য তাদের মানগুলি "অদলবদল করা হয়")। এর অর্থ আপনি স্ট্রিংগুলির স্থানে ভেরিয়েবলগুলি রাখতে পারেন এবং কেবল তাদের মধ্যে একটি স্থান রেখে দিতে পারেন। কোঁকড়া ধনুর্বন্ধনী এটি ভেরিয়েবলগুলি কোথায় তা পরিষ্কার করে।

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

দ্রষ্টব্য: এটি আপনার ক্ষেত্রে ধনুর্বন্ধনী ছাড়াও কাজ করবে:

$result = "$data1 $data2";

আপনি একটি স্ট্রিংয়ের মধ্যে অ্যারের মানগুলিও সুস্পষ্ট করতে পারেন:

$arr1 = ['val' => 'This is a'];
$arr2 = ['val' => 'test'];
$variable = "{$arr1['val']} {$arr2['val']}";

ব্যবহার করুন 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

ভেরিয়েবলগুলিকে স্ট্রিংয়ে একত্রিত করতেও হেরডোকস ব্যবহার করা যেতে পারে।

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

,সাথে একটি ব্যবহার করুনecho()

এটি কেবল তখনই কাজ করে যখন সামগ্রী প্রতিধ্বনিত হয় এবং কোনও ভেরিয়েবলকে বরাদ্দ না করে। তবে পিএইচপি এর প্রতিধ্বনির জন্য এক্সপ্রেশনগুলির একটি তালিকা আলাদা করতে আপনি কমা ব্যবহার করতে পারেন এবং সেই বাক্যগুলির মধ্যে একটি হিসাবে একটি ফাঁকা স্থান সহ একটি স্ট্রিং ব্যবহার করতে পারেন:

echo $data1, ' ', $data2;

21

কেউ এটি উল্লেখ করেনি তবে এর অন্যান্য সম্ভাবনাও রয়েছে। আমি এটি বিশাল স্কয়ার প্রশ্নের জন্য ব্যবহার করছি। আপনি ব্যবহার করতে পারেন। = অপারেটর :)

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

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

"আমি এটিকে বিশাল স্কয়ার প্রশ্নের জন্য ব্যবহার করছি" " - নোট করুন যে এটি এন.ইউইকিপিডিয়া.আর
ক্রিয়াকলাপ হ্রাস

এই বা অন্য উপায়ে ঠিক কীভাবে স্ট্র্যাঙ্কিং আমার প্যারামিটারাইজড কোয়েরিতে স্কয়ার ইঞ্জেকশন দেবে?
কোডলেমে

ম্যানুয়ালি পুরো এসকিউএল ক্যোয়ারী তৈরি করা (কমপক্ষে "বিশাল এসকিএল প্রশ্নের জন্য" প্রস্তাবিত) ঠিক নেই। কেবলমাত্র পরামিতি প্রস্তুত করা হচ্ছে, পুরো অনুসন্ধানগুলি এই নির্দিষ্ট সুরক্ষা ঝুঁকি থেকে নিরাপদ হওয়া উচিত নয়।
ক্রিয়াকলাপ হ্রাস

19

অপারেটরের সাথে তাদের জড়িত করুন .:

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

অথবা স্ট্রিং ইন্টারপোলেশন ব্যবহার করুন:

$result = "$data1 $data2";

11
$result = implode(' ', array($data1, $data2));

আরও জেনেরিক।


1
এটি এমন একটি ক্ষেত্রে খুব দরকারী যেখানে আপনি একটি সীমান্ত তালিকা তৈরি করতে চান কারণ এটির পরীক্ষা করা আছে যে ওয়ারগুলির কোনও মূল্য $email_to = implode(', ', array($addr1, $addr2, addr3));নেই if($addr != '')ইত্যাদির জন্য
আবা

4
অ্যারে ফাংশনগুলি চয়ন করবেন না, যদি না আপনার প্রয়োজন হয়। কারণ অ্যারে ফাংশন অপারেটরগুলির তুলনায় ধীর। উপরন্তু; তারা আরও মেষ ব্যবহার করে।
মের্ট দোয়ান

9

উপলব্ধ অন্য ফর্মটি হ'ল:

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

6

আপনি নিম্নলিখিত কোডের লাইন চেষ্টা করতে পারেন

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

আমি ডাবল কোটের পরিবর্তে একক উদ্ধৃতি ব্যবহার করব। লিঙ্ক
জ্যাক

5

একটি পিরিয়ড স্ট্রিংগুলি সংযুক্ত করতে ব্যবহৃত হয়। দুটি স্ট্রিং ভেরিয়েবলকে একক ভেরিয়েবলে পরিণত করার সহজ উদাহরণ:

$full = $part1 . $part2;

আপনার উদাহরণে, আপনি এটি করতে চাই:

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

আপনি লক্ষ্য করবেন যে আমি দুটি ভেরিয়েবলের মধ্যে একটি স্পেসের একটি স্ট্রিং যুক্ত করেছি। এটি কারণ আপনার আসলটি $data1কোনও স্থান দিয়ে শেষ হয়নি। আপনি যদি এগুলি ছাড়া তাদের সংযুক্ত করে থাকেন তবে আপনার $resultপরিবর্তনশীলটি দেখতে দেখতে শেষ হবে the color isred


5

আপনি পিএইচপি ব্যবহার করে এটি করতে পারেন:

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

এটি দুটি স্ট্রিংকে একত্রিত করবে এবং পুটপুটটি হবে: "রঙটি লাল!"।


1
আপনার মনগড়া ইনপুট মানগুলি ওপি-র ইনপুট স্ট্রিংকে উপস্থাপন করে না এবং আপনি সমাধানগুলি প্রতিধ্বনি করছেন যা বছর পূর্বে বর্ণিত হয়েছে। এটি কোনও জাভাস্ক্রিপ্টের প্রশ্ন নয় তাই পরামর্শটি অপ্রাসঙ্গিক। এই পোস্টে পৃষ্ঠায় কোন মূল্য যুক্ত করে।
মিকম্যাকুসা

@ মিকম্যাকুসা, ঠিক আছে আমি পাঠ্য আপডেট করেছি, আপনি ঠিক বলেছেন তবে আমি এখানে জেএসের উত্তর দিয়েছি কারণ এটি একটি খুব প্রাথমিক প্রশ্ন যা ব্যবহারকারী পার্থক্যটি শিখতে পারে
sunil

1
আপনার আপডেটটি ওপির পাঠ্য ব্যবহার করছে না। পিএইচপি প্রশ্নের জাভাস্ক্রিপ্ট সমাধান সরবরাহ করবেন না। এই উত্তরটি খারাপভাবে ফর্ম্যাট করা হয়েছে এবং পৃষ্ঠায় কোনও মূল্য যুক্ত করে না।
মিকম্যাকুসা

4
$s = "my name is ";

$s .= "keyur";

echo $s; 

ফলাফল:

my name is keyur

9
স্ট্যাকওভারফ্লোতে আপনাকে স্বাগতম। এটি দুর্দান্ত, যদি আপনি প্রশ্নের উত্তর দেন। তবে আপনি যদি তা করেন তবে দয়া করে এটি যথাযথভাবে ফর্ম্যাট করুন। আরও, আপনার উত্তর ইতিমধ্যে দেওয়া হয়েছিল। কীভাবে এটি চার বছরের পুরানো পোস্টটিতে অতিরিক্ত মান যুক্ত করে ?
T3 H40

6
এটি বিদ্যমান উত্তরের পুনরাবৃত্তি মাত্র।
পাইপ

4
$result = $data1 . $data2;

এটা চেষ্টা কর


5
এটি সঠিক উত্তর নয়। এটির ফলাফল "রঙ বিভক্ত"। এছাড়াও, কয়েক বছর আগে পোস্ট করা কারওর উত্তর থেকে আপনার উত্তর সদৃশ। ডাউন ভোট দিয়েছেন।
জেসন লিউ


0

আপনার প্রয়োজনীয়তাগুলি কী তা নিয়ে আমি ঠিক পরিষ্কার নই তবে মূলত আপনি দুটি ভেরিয়েবলকে আলাদাভাবে সংজ্ঞায়িত করতে পারেন এবং তারপরে এগুলি একত্রিত করতে পারেন।

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

$result=$data1.$data2;

এটি করে আপনি এমনকি $ ডেটা 2 কে বিশ্বব্যাপী স্তর হিসাবে ঘোষণা করতে পারেন যাতে আপনি কার্যকর করার সময় এর মান পরিবর্তন করতে পারেন, উদাহরণস্বরূপ এটি একটি চেকবক্স থেকে উত্তর "লাল" পেতে পারে।


0

পিএইচপি এ দুটি স্ট্রিং একত্রিত?

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

2
এই উত্তরটি অন্য উত্তরগুলি ইতিমধ্যে সরবরাহ করে না এমন কিছুই সরবরাহ করে না এবং এটি কেন বা কীভাবে কাজ করে সে সম্পর্কে কোনও ব্যাখ্যা দেয় না।
জন কনদে

-1

1. স্ট্রিংটি সংহত করুন (প্রতিটি স্ট্রিংয়ের মধ্যে স্থান)

টুকিটাকি সংকেতলিপি :

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

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

আউটপুট: শচীনটেন্ডুলকার

স্ট্রিং যেখানে স্থান বিদ্যমান স্ট্রিং

টুকিটাকি সংকেতলিপি :

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

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

আউটপুট: শচীন টেন্ডুলকার

  1. প্রিন্টফ ফাংশন ব্যবহার করে স্ট্রিংকে সংহত করুন।

টুকিটাকি সংকেতলিপি :

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

আউটপুট:
শচীনটেন্ডুলকার
শচীন টেন্ডুলকার


4
এই উত্তরটি কী প্রস্তাব দেয় যা ইতিমধ্যে অন্যান্য উত্তর সরবরাহ করে না?
জন

@ রাশেডস আমার জন্য দুর্দান্ত কাজ করে !! 🏏
আইপিএসডিএসআইএলভা

-1

আমি বিশ্বাস করি সবচেয়ে পারফরম্যান্সের উপায় হ'ল:

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

আপনি যদি স্থানীয়করণ প্রয়োগ করতে চান তবে আপনি এটির মতো কিছু করতে পারেন:

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

এটি কিছুটা ধীর গতির, তবে এটি ব্যাকরণের নিয়মগুলি ধরে নেয় না।


-3

এটি চেষ্টা করুন, আমরা ডট (।) চিহ্ন সহ পিএইচপিতে স্ট্রিং যুক্ত করতে পারি

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

echo $data1.$data2; //the color isred
echo $data1." ".$data2; // the color is red (we have appended space)

1
এই উত্তরটি অন্য উত্তরগুলি ইতিমধ্যে সরবরাহ করে না এমন কিছুই সরবরাহ করে না।
জন কনদে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.