الدالة strcspn()‎ في PHP

من موسوعة حسوب
< PHP
اذهب إلى التنقل اذهب إلى البحث

(PHP 4, PHP 5, PHP 7)

تعيد الدالة strcspn()‎ طول الجزء الأولي للمعامل subject الذي لا يماثل المعامل mask.

الوصف

int strcspn ( string $subject , string $mask [, int $start [, int $length]])

تعيد الدالة strcspn()‎ طول الجزء الأولي من الكلمة المدخلة لها في المعامل subject بشرط ألا تحتوي أي حرف من حروف المعامل mask.

إذا استدعيت الدالة بدون المعاملين start و length فستفحص السلسلة النصية subject بالكامل. أما في حالة وجودهما فسيكون عمل الدالة كعمل الدالة substr()‎ فسيتم الفحص وفق المعاملين (انظر الدالة الدالة substr()‎ لمعرفة المزيد).

المعاملات

subject

السلسلة النصية المراد فحصها.

mask

السلسلة النصية التي تحتوي الحروف غير المرغوب فيها.

start

موضع لبدء البحث في المعامل subject.

إذا كان المعامل start معطى ولم يكن سالبًا، فستبدأ الدالة strcspn()‎ فَحْصَ المعامل subject بدءًا من الموضع start وليس من بداية المعامل. مثال: إذا كان المعامل subject يساوي 'abcdef'، الحرف في الموضع 0 هو 'a' ، الحرف في الموضع 2 هو 'c' وهكذا.

إذا أُعْطِيَ المعامل start وكان سالبًا، فستبدأ الدالة strcspn()‎ في فحص المعامل subject بداية من الموضع start ولكن من نهاية المعامل subject.

length

هو طول الجزء المراد فحصه من المعامل subject.

إذا كان المعامل length معطى ولم يكن سالبًا، فسيُفحَص المعامل subject من بدايته إلى موضع المعامل length.

إذا كان المعامل length معطى وكان سالبًا، فسيُفحَص المعامل subject من نهايته إلى موضع المعامل length.

القيم المعادة

تعيد الدالة strcspn()‎ طول الجزء المفحوص من المعامل subject والذي لا يحوي أي حرف من حروف المعامل mask.

ملحوظة: عند تعيين المعامل start يُحسَب الطول المعاد بدءًا من موضع المعامل start، وليس من بداية المعامل subject.

أمثلة

المثال 1: مثال بسيط عن الدالة strcspn()‎

<?php
$a = strcspn('abcd',  'apple');
$b = strcspn('abcd',  'banana');
$c = strcspn('hello', 'l');
$d = strcspn('hello', 'world');
$e = strcspn('abcdhelloabcd', 'abcd', -9);
$f = strcspn('abcdhelloabcd', 'abcd', -9, -5);
var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
var_dump($e);
var_dump($f);
?>

ناتج المثال السابق:

int(0)
int(0)
int(2)
int(2)
int(5)
int(4)

ملاحظات

هذه الدالة آمنة ثنائية.

انظر أيضًا

  • الدالة strspn()‎: البحث عن طول المقطع الأولي من سلسلة نصية تتكون بالكامل من الأحرف الموجودة داخل القيمة mask.

مصادر