ডেফিনিশন এবং ব্যবহার
PHP-এ, একটি স্ট্রিং ডেটা টাইপ হলো নন-নুমেরিক ক্যারেক্টারের সিকোয়েন্স। ASCII সেটের যেকোনো ক্যারেক্টার একটি স্ট্রিংয়ের অংশ হতে পারে। PHP UNICODE সাপোর্ট করে না।
PHP-এ, স্ট্রিংয়ের লিটারেল রিপ্রেজেন্টেশন সিঙ্গেল কোট, ডাবল কোট, heredoc সিনট্যাক্স এবং nowdoc সিনট্যাক্স দিয়ে করা যায়।
সিনট্যাক্স
// স্ট্রিং ভ্যালু ভেরিয়েবলে লিটারেল অ্যাসাইনমেন্ট $var = 'Hello World'; // সিঙ্গেল কোট $var3 = "Hello World"; // ডাবল কোট
সিঙ্গেল কোটেড স্ট্রিংয়ের ভেতর সিঙ্গেল কোট ক্যারেক্টার এমবেড করতে এর আগে '\' প্রিফিক্স করুন। একইভাবে সিঙ্গেল কোটেড স্ট্রিংয়ের ভেতর ব্যাকস্ল্যাশ এমবেড করতে এর আগে একটা অতিরিক্ত ব্যাকস্ল্যাশ প্রিফিক্স করুন। অন্যান্য এস্কেপ সিকোয়েন্স ক্যারেক্টার যেমন \n ইত্যাদি কোনো স্পেশাল রিপ্রেজেন্টেশন ধারণ করে না।
ডাবল কোটেড স্ট্রিং নিচের এস্কেপ সিকোয়েন্সগুলোর স্পেশাল মেনিং হিসেবে বিবেচনা করে—
| Sequence | Meaning |
|---|---|
| \n | লাইনফিড |
| \r | ক্যারেজ রিটার্ন |
| \t | হোরিজেন্টাল ট্যাব |
| \v | ভার্টিক্যাল ট্যাব (PHP 5.2.5 থেকে) |
| \e | এস্কেপ (PHP 5.4.4 থেকে) |
| \f | ফর্ম ফিড (PHP 5.2.5 থেকে) |
| \\ | ব্যাকস্ল্যাশ |
| \$ | ডলার সাইন |
| \" | ডাবল-কোট |
Heredoc স্ট্রিং <<< সিম্বল দিয়ে শুরু হয় যেকোনো ইউজার-চয়েস আইডেন্টিফায়ারের সাথে। পরবর্তী লাইন থেকে যেকোনো মাল্টিলাইন ক্যারেক্টার সিকোয়েন্স যা উপরের যেকোনো এস্কেপ সিকোয়েন্স থাকতে পারে। শেষ লাইনে একই heredoc আইডেন্টিফায়ার সেমিকোলন দিয়ে শেষ হয়।
// Heredoc অ্যাসাইনমেন্ট স্ট্রিং ভ্যালু ভেরিয়েবলে public $var = <<< XYZ Hello World Welcome to Tutorialspoint XYZ;
Nowdoc স্ট্রিং heredoc-এর মতো। পার্থক্য হলো আইডেন্টিফায়ারকে সিঙ্গেল কোটে এনক্লোজ করতে হয় এবং nowdoc স্ট্রিংয়ের ভেতরের এস্কেপ সিকোয়েন্সগুলো পার্স হয় না এবং যেভাবে আছে তেভাবেই থাকে।
// Nowdoc অ্যাসাইনমেন্ট স্ট্রিং ভ্যালু ভেরিয়েবলে public $var = <<< 'XYZ' Hello World Welcome to Tutorialspoint XYZ;
PHP ভার্সন
সেপারেশন সিম্বল "_" ব্যবহার PHP 7.4.0 থেকে উপলব্ধ।
নিচের উদাহরণ সিঙ্গেল কোটেড স্ট্রিং দেখাচ্ছে। এস্কেপ সিকোয়েন্স \n পার্স হয় না এবং যেভাবে আছে তেভাবেই দেখায়—
উদাহরণ
<?php $var = 'Hello World.\n Welcome to Tutorialspoint'; echo $var; ?>
আউটপুট
এটি নিচের ফলাফল দেবে—
Hello World.\n Welcome to Tutorialspoint
এই উদাহরণ ডাবল কোটেড স্ট্রিং দেখাচ্ছে। এস্কেপ সিকোয়েন্স \n পার্স হয়েছে এবং টেক্সট দুটি লাইনে দেখাচ্ছে—
উদাহরণ
<?php $var = "Hello World.\n Welcome to Tutorialspoint"; echo $var; ?>
আউটপুট
এটি নিচের ফলাফল দেবে—
Hello World. Welcome to Tutorialspoint
এই উদাহরণ Heredoc এবং Nowdoc সিনট্যাক্স স্ট্রিং রিপ্রেজেন্টেশনের জন্য দেখাচ্ছে—
উদাহরণ
<?php // Heredoc $var = <<< STR Hello World Welcome to Tutorialspoint STR; echo $var . "\n"; // Nowdoc $var = <<< 'STR' Hello World Welcome to Tutorialspoint STR; echo $var; ?>
আউটপুট
এটি নিচের ফলাফল দেবে—
Hello World Welcome to Tutorialspoint Hello World Welcome to Tutorialspoint
এই উদাহরণ দেখাচ্ছে কিভাবে একটি ভেরিয়েবলের মান heredoc স্ট্রিংয়ে সাবস্টিটিউট হয়। Nowdoc স্ট্রিং সাবস্টিটিউশন করে না—
উদাহরণ
<?php $name = "Mahesh"; $var = <<< STR Hello $name Welcome to Tutorialspoint STR; echo $var . "\n"; // Nowdoc $var = <<< 'STR' Hello $name Welcome to Tutorialspoint STR; echo $var; ?>
আউটপুট
এটি নিচের ফলাফল দেবে—
Hello Mahesh Welcome to Tutorialspoint Hello $name Welcome to Tutorialspoint