الفرق بين المراجعتين ل"PHP/strpos"
ط (نقل عبد اللطيف ايمش صفحة PHP/Function/strpos إلى PHP/strpos: إعادة هيكلة التوثيق) |
ط (تصحيح التصنيفات) |
||
سطر 91: | سطر 91: | ||
* [http://php.net/manual/en/function.strpos.php صفحة الدالة strpos في توثيق PHP الرسمي.] | * [http://php.net/manual/en/function.strpos.php صفحة الدالة strpos في توثيق PHP الرسمي.] | ||
[[تصنيف:PHP]] | [[تصنيف:PHP]] | ||
+ | [[تصنيف:PHP Function]] | ||
[[تصنيف:PHP String]] | [[تصنيف:PHP String]] |
المراجعة الحالية بتاريخ 10:57، 8 أبريل 2018
(PHP 4, PHP 5, PHP 7)
تبحث الدالة strpos()
عن أول ظهور لمحارف معينَّة في سلسلة نصيَّة ثمَّ تعيد ترتيب موقعها في تلك السلسلة.
الوصف
int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
تبحث هذه الدالة على أول ظهور للمحارف needle
ضمن السلسلة النصيَّة haystack
ثمَّ تعيد رقم موقعها في تلك السلسلة.
المعاملات
haystach
السلسلة النصيَّة التي ستبحث الدالة فيها.
needle
مجموعة المحارف التي ستبحث الدالة عنها. إن لم تكن تلك المحارف سلسلةً نصيَّةً، فستُحوَّل إلى عدد صحيح وتُعامل على أنَّها قيمة ترتيبيَّة للمحارف.
offset
معامل اختياري وهو قيمة إزاحة المؤشر من بداية السلسلة النصيَّة والذي يبدأ عنده البحث. إن كانت قيمة هذا المعامل سالبة، فسيبدأ البحث بعد إزاحة المؤشر من نهاية السلسلة النصيَّة والذي سيبدأ عند البحث.
القيم المعادة
تُعاد قيمة تمثل موقع وجود المعامل needle
نسبةً إلى بداية المعامل haystack
ودون أخذ قيمة الإزاحة offset
بالحسبان. إن لم يُعثر على المعامل needle
، فستُعاد القيمة FALSE
.
تجدر الإشارة إلى أنَّ موقع أول محرف في السلسلة النصيَّة يبدأ من القيمة 0 وليس 1.
تحذير: تعيد أحيانًا هذه الدالة القيمة المنطقيَّة FALSE
، وتعيد أحيانًا أخرى قيمة غير منطقيَّة ولكنَّها تعادل القيمة FALSE
، لذا استعمل المعامل ===
للتحقق من القيمة التي تعيدها. يُفضل قراءة قسم القيم المنطقيَّة (boolean) للاطلاع على المزيد من المعلومات.
جدول التغييرات
الإصدار | الوصف |
---|---|
7.1.0 | إضافة ميزة دعم القيم السالبة لمعامل الإزاحة offset .
|
أمثلة
المثال 1: استعمال المعامل ===
<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// لاحظ أنَّنا استعملنا المعامل ===. لن يجدي استعمال المعامل == نفعًا إذ لن يعمل كما
//.هو الأول أي 0 'a' هو متوقع له لأنَّ موقع المحرف الذي نبحث عنه
if ($pos === false) {
echo "The string '$findme' was not found in the string '$mystring'";
} else {
echo "The string '$findme' was found in the string '$mystring'";
echo " and exists at position $pos";
}
?>
المثال 2: استعمال المعامل ==!
<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// يمكن أيضًا استعمال المعامل ==!. لن يجدي استعمال المعامل =! نفعًا إذ لن يعمل كما
//.هو الأول أي 0 'a' هو متوقع له لأن موقع المحرف الذي نبحث عنه
//.false القيمة (false != 0) تعادل العبارة
if ($pos !== false) {
echo "The string '$findme' was found in the string '$mystring'";
echo " and exists at position $pos";
} else {
echo "The string '$findme' was not found in the string '$mystring'";
}
?>
المثال 3: استعمال المعامل offset
<?php
// سيُتجاهل أي شيء يقع ضمن مجال الإزاحة عند بدء عملية البحث
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, not 0
?>
ملاحظات
تُعدُّ هذه الدالة آمنة ثنائيًّا (binary safe).
انظر أيضًا
- الدالة
preg_match()
: تبحث عن تعبير نمطي (regular expression) في سلسلة نصيَّة. - الدالة
strstr()
: تبحث عن أول ظهور لسلسلة نصيَّة محدَّدة ضمن سلسلة نصيَّة أخرى. - الدالة
stripos()
: تبحث عن أول ظهور لمحارف معينَّة في سلسلة نصيَّة دون تحسُّس حالة الأحرف ثمَّ تعيد رقم موقعها في تلك السلسلة. - الدالة
strrpos()
: تبحث عن آخر ظهور لمحارف معينَّة في سلسلة نصيَّة ثمَّ تعيد رقم موقعها في تلك السلسلة. - الدالة
strripos()
: تبحث عن آخر ظهور لمحارف معينَّة في سلسلة نصيَّة دون تحسُّس حالة الأحرف ثمَّ تعيد رقم موقعها في تلك السلسلة. - الدالة
substr()
: تعيد جزءًا من السلسلة النصيَّة. - الدالة
strpbrk()
: تبحث على مجموعة معيَّنة من المحارف ضمن سلسلة نصيَّة.