ফাংশন strpos
ফাংশন strpos অন্য একটি স্ট্রিং-এ সাবস্ট্রিং-এর প্রথম ঘটনার অবস্থান ফেরত দেয়
বা false ফেরত দেয় যদি সাবস্ট্রিংটি না পাওয়া যায়।
প্রথম প্যারামিটার হিসেবে ফাংশনটি সেই স্ট্রিংটি নেয় যেখানে অনুসন্ধান করা হবে, দ্বিতীয় প্যারামিটার হিসেবে
নেয় সেই সাবস্ট্রিংটি যা খুঁজে বের করতে হবে।
ডিফল্টভাবে, ফাংশনটি স্ট্রিংয়ের শুরু থেকে প্রথম মিল পাওয়া পর্যন্ত অনুসন্ধান করে। অনুসন্ধান শুরু করার স্থান নিয়ন্ত্রণ করা যায় তৃতীয় ঐচ্ছিক প্যারামিটার দিয়ে - যদি এটি নির্দিষ্ট করা থাকে, তাহলে অনুসন্ধান স্ট্রিংয়ের শুরু থেকে নয়, বরং নির্দিষ্ট স্থান থেকে শুরু হবে।
এছাড়াও stripos নামে একটি ফাংশন রয়েছে, যা
কেস উপেক্ষা করে একই কাজ করে।
সিনট্যাক্স
phpstrpos(string $haystack, string $needle, int $offset = 0): int|false
উদাহরণ
এই উদাহরণে, ফাংশনটি প্রথম
'c' অক্ষরের অবস্থান ফেরত দেবে। এটি 2 অবস্থান দখল করে,
কারণ গণনা 0 থেকে শুরু হয়:
php<?php
echo strpos('abcde abcde', 'c');
?>
কোড 실행ের ফলাফল:
php2
উদাহরণ
এই উদাহরণে তৃতীয় প্যারামিটার নির্দিষ্ট করা হয়েছে এবং
তাই অনুসন্ধান তৃতীয় অবস্থান থেকে শুরু হবে,
এই ক্ষেত্রে ফাংশনটি দ্বিতীয় 'c' অক্ষরটি খুঁজে পাবে
এবং এর অবস্থান 8 দেখাবে:
php<?php
echo strpos('abcde abcde', 'c', 3);
?>
কোড 실행ের ফলাফল:
php8
উদাহরণ
যদি সাবস্ট্রিংটি না পাওয়া যায় - তাহলে ফাংশনটি
false ফেরত দেবে। কিন্তু যদি স্ট্রিংটি
শুরুতে থাকে, তাহলে ফাংশনটি 0 ফেরত দেবে।
শর্ট-ফর্ম কন্ডিশন ব্যবহার করে তুলনা করার সময় এটি একটি সমস্যা হতে পারে:
php<?php
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
কোড 실행ের ফলাফল (যেমনটি আমরা আশা করিনি):
php'---'
উদাহরণ
স্ট্রিংয়ের শুরু সঠিকভাবে পরীক্ষা করা যাক:
php<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
কোড 실행ের ফলাফল:
php'+++'
আরও দেখুন
-
ফাংশন
strrpos,
যা সাবস্ট্রিং-এর শেষ ঘটনার অবস্থান ফেরত দেয় -
ফাংশন
str_contains,
যা একটি স্ট্রিংয়ে একটি অক্ষরের অস্তিত্ব পরীক্ষা করে -
ফাংশন
str_starts_with,
যা একটি স্ট্রিংয়ের শুরু পরীক্ষা করে -
ফাংশন
str_ends_with,
যা একটি স্ট্রিংয়ের শেষ পরীক্ষা করে -
ফাংশন
array_search,
যা একটি অ্যারেতে অনুসন্ধান করে