الفرق بين المراجعتين لصفحة: «PHP/strcspn»

من موسوعة حسوب
< PHP
أضفت المحتوى
 
لا ملخص تعديل
 
(1 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة)
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE:الدالة <code>strcspn()</code>‎ في PHP}}</noinclude>
= الدالة strcspn()‎ في PHP =
(PHP 4, PHP 5, PHP 7)
(PHP 4, PHP 5, PHP 7)


تعيد الدالة strcspn()‎ طول الجزء الأولي للمعامل Length الذي لا يماثل المعامل mask.
تعيد الدالة <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>.


إذا جاءت الدالة بدون المعاملين start و length فستفحص السلسلة النصية subject بالكامل. أما في حالة وجودهما فسيكون عمل الدالة كعمل الدالة substr()‎ فسيتم الفحص وفق المعاملين (انظر الدالة الدالة substr()‎ لمعرفة المزيد).
إذا استدعيت الدالة بدون المعاملين <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 يُحسَب الطول المعاد بدءًا من موضع المعامل start، وليس من بداية المعامل subject.
ملحوظة: عند تعيين المعامل <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');
$b = strcspn('abcd',  'banana');
$b = strcspn('abcd',  'banana');
$c = strcspn('hello', 'l');
$c = strcspn('hello', 'l');
$d = strcspn('hello', 'world');
$d = strcspn('hello', 'world');
$e = strcspn('abcdhelloabcd', 'abcd', -9);
$e = strcspn('abcdhelloabcd', 'abcd', -9);
$f = strcspn('abcdhelloabcd', 'abcd', -9, -5);
$f = strcspn('abcdhelloabcd', 'abcd', -9, -5);
var_dump($a);
var_dump($a);
var_dump($b);
var_dump($b);
var_dump($c);
var_dump($c);
var_dump($d);
var_dump($d);
var_dump($e);
var_dump($e);
var_dump($f);
var_dump($f);
?>
?>
</syntaxhighlight>ناتج المثال السابق<syntaxhighlight lang="php">
</syntaxhighlight>ناتج المثال السابق:<syntaxhighlight lang="text">
int(0)
int(0)
int(0)
int(0)
int(2)
int(2)
int(2)
int(2)
int(5)
int(5)
int(4)
int(4)
</syntaxhighlight>
</syntaxhighlight>
سطر 86: سطر 67:


== انظر أيضًا ==
== انظر أيضًا ==
* الدالة strspn()‎: البحث عن طول المقطع الأولي من سلسلة نصية تتكون بالكامل من الأحرف الموجودة داخل القيمة mask.
* الدالة <code>[[PHP/strspn|strspn()‎]]</code>: البحث عن طول المقطع الأولي من سلسلة نصية تتكون بالكامل من الأحرف الموجودة داخل القيمة <code>mask</code>.


== مصادر ==
== مصادر ==
* [http://php.net/manual/en/function.strcspn.php صفحة الدالة strcspn‎ في توثيق PHP الرسمي.]
* [http://php.net/manual/en/function.strcspn.php صفحة الدالة strcspn‎ في توثيق PHP الرسمي.]
[[تصنيف:PHP]]
[[تصنيف:PHP Function]]
[[تصنيف:PHP String]]

المراجعة الحالية بتاريخ 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.

مصادر