# PHP Strings Manipulation and Functions

PHP এর মধ্যে **Strings (স্ট্রিংস)** হলো সবচেয়ে মৌলিক এবং গুরুত্বপূর্ণ ডেটা টাইপগুলোর মধ্যে একটি। স্ট্রিং হলো অক্ষর, সংখ্যা বা অন্য কোনো ক্যারেক্টারের সিরিজ।

এই ব্লগে আমরা দেখব **PHP স্ট্রিং কিভাবে ব্যবহার করা যায়, তার বিভিন্ন manipulation (পরিবর্তন) এবং গুরুত্বপূর্ণ functions।**

---

## ১. PHP Strings কী?

PHP-তে একটি স্ট্রিং হলো **ক্যারেক্টারগুলোর একটি সিরিজ**।  
স্ট্রিং তৈরি করা যায় **ডাবল কোটেশন (")** অথবা **সিঙ্গেল কোটেশন (')** দিয়ে।

**উদাহরণ:**

```plaintext
<?php
    $string1 = "Hello, World!";
    $string2 = 'PHP Strings are easy.';
    echo $string1;
    echo $string2;
?>
```

**ফলাফল:**

```plaintext
Hello, World!PHP Strings are easy.
```

---

## ২. স্ট্রিং কনক্যাটিনেশন (Concatenation)

PHP-তে দুটি বা তার বেশি স্ট্রিংকে যুক্ত করার জন্য `.` (dot operator) ব্যবহার করা হয়।

**উদাহরণ:**

```plaintext
<?php
    $firstName = "Mannan";
    $lastName = "Shihab";
    $fullName = $firstName . " " . $lastName;
    echo $fullName;
?>
```

**ফলাফল:**

```plaintext
Mannan Shihab
```

---

## ৩. স্ট্রিং লেন্থ (Length)

PHP-তে একটি স্ট্রিং-এর দৈর্ঘ্য বের করতে `strlen()` ফাংশন ব্যবহার করা হয়।

**উদাহরণ:**

```plaintext
<?php
    $text = "Hello PHP";
    $length = strlen($text);
    echo "The length of the string is: " . $length;
?>
```

**ফলাফল:**

```plaintext
The length of the string is: 9
```

---

## ৪. স্ট্রিং কাউন্ট (Word Count)

স্ট্রিং-এর মধ্যে কতটি শব্দ আছে তা জানার জন্য `str_word_count()` ফাংশন ব্যবহার করা হয়।

**উদাহরণ:**

```plaintext
<?php
    $text = "PHP is a popular server-side scripting language";
    $wordCount = str_word_count($text);
    echo "Number of words: " . $wordCount;
?>
```

**ফলাফল:**

```plaintext
Number of words: 7
```

---

## ৫. স্ট্রিং রিভার্স (Reverse)

স্ট্রিং উল্টাতে `strrev()` ফাংশন ব্যবহার করা হয়।

**উদাহরণ:**

```plaintext
<?php
    $text = "PHP";
    $reverseText = strrev($text);
    echo $reverseText;
?>
```

**ফলাফল:**

```plaintext
PHP -> PHP (কারণ সংক্ষিপ্ত শব্দ, পরিবর্তন নেই)
```

---

## ৬. স্ট্রিং সার্চ (Search in String)

স্ট্রিং-এর মধ্যে কোনো নির্দিষ্ট শব্দ আছে কি না তা খুঁজতে `strpos()` ফাংশন ব্যবহার হয়।

**উদাহরণ:**

```plaintext
<?php
    $text = "I love PHP programming";
    $position = strpos($text, "PHP");
    echo "PHP found at position: " . $position;
?>
```

**ফলাফল:**

```plaintext
PHP found at position: 7
```

**নোট:** PHP-তে অবস্থান গোনা শুরু হয় 0 থেকে।

---

## ৭. স্ট্রিং রিপ্লেস (Replace)

স্ট্রিং-এর কোনো অংশ পরিবর্তন করতে `str_replace()` ব্যবহার করা হয়।

**উদাহরণ:**

```plaintext
<?php
    $text = "I love JavaScript";
    $newText = str_replace("JavaScript", "PHP", $text);
    echo $newText;
?>
```

**ফলাফল:**

```plaintext
I love PHP
```

---

## ৮. স্ট্রিং কেস পরিবর্তন (Uppercase & Lowercase)

PHP-তে স্ট্রিং-এর অক্ষর বড় বা ছোট করতে নিম্নলিখিত ফাংশন ব্যবহার করা হয়:

* `strtoupper()` – স্ট্রিং কে বড় হাতের অক্ষরে রূপান্তর করে
    
* `strtolower()` – স্ট্রিং কে ছোট হাতের অক্ষরে রূপান্তর করে
    
* `ucfirst()` – স্ট্রিং-এর প্রথম অক্ষরকে বড় করে
    
* `ucwords()` – স্ট্রিং-এর প্রতিটি শব্দের প্রথম অক্ষর বড় করে
    

**উদাহরণ:**

```plaintext
<?php
    $text = "hello world";
    echo strtoupper($text) . "\n"; // HELLO WORLD
    echo strtolower("HELLO WORLD") . "\n"; // hello world
    echo ucfirst($text) . "\n"; // Hello world
    echo ucwords($text) . "\n"; // Hello World
?>
```

---

## ৯. স্ট্রিং ট্রিমিং (Trimming)

কোনো স্ট্রিং-এর প্রথম বা শেষ থেকে স্পেস বা নির্দিষ্ট ক্যারেক্টার মুছে ফেলার জন্য ব্যবহার হয় `trim()`, `ltrim()`, `rtrim()`।

**উদাহরণ:**

```plaintext
<?php
    $text = "   PHP is fun!   ";
    echo trim($text); // দুই পাশে স্পেস মুছে দেবে
    echo ltrim($text); // বাম দিকের স্পেস মুছে দেবে
    echo rtrim($text); // ডান দিকের স্পেস মুছে দেবে
?>
```

---

## ১০. স্ট্রিং স্প্লিট এবং এক্সপ্লোড (Split & Explode)

স্ট্রিংকে ছোট ছোট অংশে ভাগ করতে `explode()` এবং `str_split()` ব্যবহার করা হয়।

**উদাহরণ:**

```plaintext
<?php
    $text = "PHP,JavaScript,Python";
    $array = explode(",", $text);
    print_r($array);
?>
```

**ফলাফল:**

```plaintext
Array
(
    [0] => PHP
    [1] => JavaScript
    [2] => Python
)
```

---

## ১১. স্ট্রিং কম্পেয়ার (Compare Strings)

স্ট্রিং দুইটি তুলনা করতে `strcmp()` বা `strcasecmp()` ব্যবহার করা হয়।

**উদাহরণ:**

```plaintext
<?php
    $str1 = "PHP";
    $str2 = "php";
    echo strcmp($str1, $str2); // Case sensitive
    echo strcasecmp($str1, $str2); // Case insensitive
?>
```

**ফলাফল:**

* `strcmp()` – case sensitive, পার্থক্য থাকলে 0 এর চেয়ে ভিন্ন মান দেয়
    
* `strcasecmp()` – case insensitive, ছোট/বড় অক্ষর উপেক্ষা করে তুলনা করে
    

---

## ১২. স্ট্রিং ফরম্যাটিং (Formatting Strings)

PHP-তে স্ট্রিং ফরম্যাট করার জন্য `printf()` এবং `sprintf()` ব্যবহার করা হয়।

**উদাহরণ:**

```plaintext
<?php
    $number = 123.456;
    printf("Number: %.2f", $number); // দশমিকের পর ২ সংখ্যার precision
?>
```

**ফলাফল:**

```plaintext
Number: 123.46
```

PHP স্ট্রিং হলো ওয়েব ডেভেলপমেন্টের জন্য অত্যন্ত গুরুত্বপূর্ণ।  
স্ট্রিং manipulation-এর জন্য PHP অসংখ্য built-in functions দেয়, যা ডেটা হ্যান্ডলিং, ফরম্যাটিং এবং টেক্সট প্রোসেসিংকে অনেক সহজ করে।

আপনি যদি স্ট্রিং manipulation ভালোভাবে জানেন, তাহলে আপনি **ডায়নামিক ওয়েব অ্যাপ্লিকেশন তৈরি করতে অনেক বেশি দক্ষ হবেন।**
