السبت، 1 يونيو 2013

معلومات عن عدد حروف النصوص فى المتغيرات فى PHP


خدعة بسيطة، تمكنك من التحقق من عدد الحروف الموجودة فى متغيرٍ ما، إذا كان هذا المتغير هو من النوع النصي String، فمثلاً يمكنك التحقق من إذا كان هذا المتغير يحتوى على 7 أحرف فقط، فإذا كان أقل من 7 أو أكثر يمكنك عرض رسالة خطأ، ولذلك تلك الخدعة مهمة جدًا فى برمجة النماذج Forms، ولكن كيف تقوم بذلك؟!
تلقائيًا فى PHP عند تعريف متغير من النوع النصي، ستجد أنها (شبه مصفوفة) يمكنك مقارنة أى Index تقوم بوضعه بعدد أحرف النص الأصلي الموجود فى المتغير أصلاً.
- مثال بسيط للإيضاح:
<?php
$string = 'testing';
if(isset($string[6]))
echo "The string '$string' is at least 7 characters long.";
else
echo "The string '$string' is less than 7 characters long.";
?>
فنحن عندما نكتب:
$string[6]
مع دالة isset التى تتحقق من وجود شيءٍ ما، نحن نتحقق من إذا كانت عدد أحرف النص الموجود فى متغير string مساوىٍ للستة.
لكن لاحظ أن بتلك الطريقة أنت تتحقق من عدد الأحرف بما فيا المسافات الفارغة، أى أن النص " س و ب " هو ستة أحرف لوجود ثلاثة مسافات بينية، ولجعل تلك العملية أكثر ذاكاءًا عليك أنت تقوم بإستخدام دالة str_replace لكي تقوم بحذف تلك المسافات، لكن يجب أن تقوم بعملية الحذف تلك قبل أن تقوم بمقارنة عدد الأسطر.
- مثال:
<?php
$string = 'testing';
$string = str_replace($string," ","");
if(isset($string[6]))
echo "The string '$string' is at least 7 characters long.";
else
echo "The string '$string' is less than 7 characters long.";
?>

كان يمكنك القيام بتلك العملية بدون تلك الخدعة عبر العديد من الأسطر، وعبر استخدام دالتين، الأولى كما هو الحالة بالخدعة التى ذكرناها هي دالة str_replace لحذف المسافات بين الكلمات -قد لا توّد أنت حذف المسافات- والثانية هي دالة strlen وهي دالة لحساب عدد الأحرف الموجودة فى المتغير بما فيها المسافات.
- مثال:
<?php
$string = 'testing';

$count = strlen($string);
$string = str_replace($string," ","");
if($count = 6)
echo "The string '$string' is at least 7 characters long.";
else
echo "The string '$string' is less than 7 characters long.";
?>
أعتقد أن الطريقة الأولى أسهل وأسرع !
المزيد من المواضيع:

0 التعليقات:

إرسال تعليق