الفرق بين المراجعتين لصفحة: «PHP/strcspn»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 2: | سطر 2: | ||
(PHP 4, PHP 5, PHP 7) | (PHP 4, PHP 5, PHP 7) | ||
تعيد الدالة strcspn() طول الجزء الأولي للمعامل | تعيد الدالة <code>strcspn()</code> طول الجزء الأولي للمعامل <code>subject</code> الذي لا يماثل المعامل <code>mask</code>. | ||
== الوصف == | == الوصف == | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
int strcspn ( string $subject , string $mask [, int $start [, int $length]]) | int strcspn ( string $subject , string $mask [, int $start [, int $length]]) | ||
</syntaxhighlight>تعيد الدالة strcspn() طول الجزء الأولي من الكلمة المدخلة لها في المعامل subject بشرط ألا تحتوي أي حرف من حروف المعامل mask. | </syntaxhighlight>تعيد الدالة <code>strcspn()</code> طول الجزء الأولي من الكلمة المدخلة لها في المعامل <code>subject</code> بشرط ألا تحتوي أي حرف من حروف المعامل <code>mask</code>. | ||
إذا | إذا استدعيت الدالة بدون المعاملين <code>start</code> و <code>length</code> فستفحص السلسلة النصية <code>subject</code> بالكامل. أما في حالة وجودهما فسيكون عمل الدالة كعمل الدالة <code>substr()</code> فسيتم الفحص وفق المعاملين (انظر الدالة الدالة <code>substr()</code> لمعرفة المزيد). | ||
== المعاملات == | == المعاملات == | ||
=== subject === | === <code>subject</code> === | ||
السلسلة النصية المراد فحصها. | السلسلة النصية المراد فحصها. | ||
=== mask === | === <code>mask</code> === | ||
السلسلة النصية التي تحتوي الحروف غير المرغوب فيها. | السلسلة النصية التي تحتوي الحروف غير المرغوب فيها. | ||
=== start === | === <code>start</code> === | ||
موضع لبدء البحث في المعامل subject. | موضع لبدء البحث في المعامل <code>subject</code>. | ||
إذا كان المعامل start معطى ولم يكن سالبًا، فستبدأ الدالة strcspn() فَحْصَ المعامل subject بدءًا من الموضع start وليس من بداية المعامل. مثال: إذا كان المعامل subject يساوي 'abcdef'، الحرف في الموضع 0 هو 'a' ، الحرف في الموضع 2 هو 'c' وهكذا. | إذا كان المعامل <code>start</code> معطى ولم يكن سالبًا، فستبدأ الدالة <code>strcspn()</code> فَحْصَ المعامل <code>subject</code> بدءًا من الموضع <code>start</code> وليس من بداية المعامل. مثال: إذا كان المعامل <code>subject</code> يساوي <code>'abcdef'</code>، الحرف في الموضع <code>0</code> هو <code>'a'</code> ، الحرف في الموضع <code>2</code> هو <code>'c'</code> وهكذا. | ||
إذا أُعْطِيَ المعامل start وكان سالبًا، فستبدأ الدالة strcspn() في فحص المعامل subject بداية من الموضع start ولكن من نهاية المعامل subject. | إذا أُعْطِيَ المعامل <code>start</code> وكان سالبًا، فستبدأ الدالة <code>strcspn()</code> في فحص المعامل <code>subject</code> بداية من الموضع <code>start</code> ولكن من نهاية المعامل <code>subject</code>. | ||
=== length === | === <code>length</code> === | ||
هو طول الجزء المراد فحصه من المعامل subject. | هو طول الجزء المراد فحصه من المعامل <code>subject</code>. | ||
إذا كان المعامل length معطى ولم يكن سالبًا، فسيُفحَص المعامل subject من بدايته إلى موضع المعامل length. | إذا كان المعامل <code>length</code> معطى ولم يكن سالبًا، فسيُفحَص المعامل <code>subject</code> من بدايته إلى موضع المعامل <code>length</code>. | ||
إذا كان المعامل length معطى وكان سالبًا، فسيُفحَص المعامل subject من نهايته إلى موضع المعامل length. | إذا كان المعامل <code>length</code> معطى وكان سالبًا، فسيُفحَص المعامل <code>subject</code> من نهايته إلى موضع المعامل <code>length</code>. | ||
== القيم المعادة == | == القيم المعادة == | ||
تعيد الدالة strcspn() طول الجزء المفحوص من المعامل subject والذي لا يحوي أي حرف من حروف المعامل mask. | تعيد الدالة <code>strcspn()</code> طول الجزء المفحوص من المعامل <code>subject</code> والذي لا يحوي أي حرف من حروف المعامل <code>mask</code>. | ||
ملحوظة: عند تعيين المعامل start يُحسَب الطول المعاد بدءًا من موضع المعامل | ملحوظة: عند تعيين المعامل <code>start</code> يُحسَب الطول المعاد بدءًا من موضع المعامل <code>start</code>، وليس من بداية المعامل <code>subject</code>. | ||
== أمثلة == | == أمثلة == | ||
<syntaxhighlight lang="php"> | المثال 1: مثال بسيط عن الدالة <code>strcspn()</code><syntaxhighlight lang="php"> | ||
<?php | <?php | ||
$a = strcspn('abcd', 'apple'); | $a = strcspn('abcd', 'apple'); | ||
سطر 54: | سطر 54: | ||
var_dump($f); | var_dump($f); | ||
?> | ?> | ||
</syntaxhighlight>ناتج المثال السابق<syntaxhighlight lang="text"> | </syntaxhighlight>ناتج المثال السابق:<syntaxhighlight lang="text"> | ||
int(0) | int(0) | ||
int(0) | int(0) | ||
سطر 67: | سطر 67: | ||
== انظر أيضًا == | == انظر أيضًا == | ||
* الدالة strspn(): البحث عن طول المقطع الأولي من سلسلة نصية تتكون بالكامل من الأحرف الموجودة داخل القيمة mask. | * الدالة <code>[[PHP/strspn|strspn()]]</code>: البحث عن طول المقطع الأولي من سلسلة نصية تتكون بالكامل من الأحرف الموجودة داخل القيمة <code>mask</code>. | ||
== مصادر == | == مصادر == |
المراجعة الحالية بتاريخ 13:42، 9 أبريل 2018
(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
.