المعاملات فى php


تستخدم المعاملات ( PHP OPERATORS ) في العمليات الرياضية والمنطقية والمقارنات مثل الجمع والطرح والقسمة والضرب. وتشبه معاملات ( PHP ) العمليات الرياضية البسيطة مثل
echo 5+3;

المعاملات الحسابية Arithmetic Operators

وهي المعاملات الخاصة بالعمليات الجبرية كالجمع والطرح …إلخ

<?php
  $j=5;
  echo $j+5//تكون النتيجة 10;
?>
أتوقع أن جميع المعاملات السابقة واضحة ولكن الغريب هما معاملي الزياة (++) والنقصان (- -) , ولكي نفهم المقصود بهما يجب أولا فهم ما يسمى بمعاملات التخصيص Assignment Operators.

معاملات التخصيص Assignment Operators

تستخدم معاملات التخصيص لتخصيص قيمة Value لمتغير ( PHP VARIABLES ). وتبدأ باستخدام علامة المساواة أو التخصيص (=) ثم =+ , =- وهكذا .
تقوم علامة التخصيص (=+) بإضافة القيمة في الناحية اليمنى لما هو في الناحية اليسرى. بحيث إذا كانت قيمة المتغير count$ تساوي 5 تتغير قيمته إلي 6 عند استخدام علامة التخصيص (=+) بهذا الشكل
<?php
    $count =5; 
    $count +=1; 
    echo $count // 6 تكون النتيجة
?>
بدلاً من تكرار المتغير هكذا
$count=$count+1;




نلاحظ في جدول المعاملات الحسابية Arithmetic Operators وجود معامل الزيادة (++) ومعامل النقصان (- -) ولم نتحدث عنهم لأنه كان لابد من فهم معاملات التخصيص أولاً, فما المقصود بهما؟.بشكل مبسط هي تقوم بإضافة أو طرح 1 .ولكي نفهم ذلك تخيل أنك تقوم بعملية فحص علي متغير ما وليكن x$ الذي قيمته تساوي 9 بحيث إن كانت قيمته تساوي 10 تتم طباعة المتغير ,إن لم يتحقق الشرط تتم زيادة المتغير x$ بقيمة 1 ثم الفحص مرة أخري حتي يتحقق الشرط ثم طباعة المتغير.
قم بتجربة الكود التالي
<?php
   $x = 9;
   if (++$x==10) echo $x;
?>
قمنا في الكود السابق بتخصيص قيمة 9 للمتغير x$ ثم استخدمنا عملية الشرط if وتستخدم في حالات التحقق من صحة شرط معين, واستخدمناها هنا لغرض شرح هذه النقطة فقط ولكن ستم شرحها بشكل منفصل. وهنا أولاً يقوم المعامل (++) بإضافة 1 للمتغير x$ ثم نسأل إذا كانت قيمة المتغير تساوي 10 وستكون الإجابة نعم (true) وسيتم طباعة المتغير x$ وهي 10 أما إن كانت الإجابة لا (false) فيقوم المعامل (++) بإضافة 1 ثم يجري الإختبار مرة أخري. ولكن ليس هذا الشكل السليم لكتابة برنامج كهذا وتم استخدامه فقط لتوضيح الفكرة.
أيضاً يمكن كتابة المعاملات بعد المتغير بهذا الشكل ++x$ وفي هذه الحالة سيتم إختبار تحقق الشرط أولاً قبل إضافة 1 للمتغير علي عكس المثال السابق.
لتوضيح الفرق قم بتغيير قيمة المتغير x$ إلي 10 بدلاً من 9 ثم استخدم (++x$) ثم اختبر الكود ستجد عدم ظهور أي نتيجة لأنه تم إضافة 1 أولاً فأصبحت القيمة 11 فلم يتحقق الشرط ولم يتم طباعة النتيجة.
ثم قم بتغيير موضع المعامل ليصبح هكذا (++x$) ثم قم بتشغيل الكود مرة أخرى ستظهر النتيجة 11 لأن الاختبار تم أولاً وعندما تحقق الشرط تم إضافة 1 للمتغير x$ ثم طباعة النتيجة . قم يتجربة الكود التالي
<?php
   $x=10;
   if($x++=10)echo $x;
?>
بشكل مبسط تعتمد عملية الإختبار سواءً قبل الزيادة (أو النقصان) أو بعدها علي موضع المعاملات سواءً كات قبل المتغير أو بعده .

معاملات المقارنة Comparison Operators

تستخدم في حالة مقارنة قيم Values بقيم أخري , أي في حالات الشَرط , مثل إذا كنت تريد أن تفحص ما إذا كانت قيمة متغير أكبر أو تساوي متغير آخر فإذا تحقق الشرط ستقوم بإجراء عملية معينة. عملية التحقق من الشَرط تكون نتيجاتها إما نعم True أو لا False .
يجب الإنتباه إلي الفرق بين (=) و (==) , حيث أن الأولي للتخصيص أما الثانية للمقارنة , لأن أكبر المبرمجين قد يقع في هذا الخطأ.

المعامل ثلاثي المساواة ( === )

يستخدم المعامل ثلاثي المساواة ( Triple Equal ) للمقارنة بين المتغيرات من حيث القيمة ونوع البيانات ( PHP Data Types ) معاً
<?php
$num1 = '1';
$num2 = 1;
if ($num1 == $num2){
echo 'Equal';
}else{
echo 'Not equal';
}
?>

في الكود السابق قمنا بتعريف متغير num1 وخصصنا له القيمة ( ‘1’ ) ونعلم أن استخدام علامة الاقتباس الفردية يتم مع البيانات من النوع ( String ), ثم عرفنا متغير num2 وخصصنا له القيمة ( 1 ) وهي من نوع البيانات ( INT ) .
عند إجراء عملية فحص تحقُق شرط مساواة قيمتي المتغيرين باستخدام أداة الشرط الغير حلقية ( PHP IF STATEMENT ) ستكون النتيجة TRUE لأنه بالفعل متساويان في القيمة.
لكن أحياناً قد تحتاج تحقق كلاً من مساواة القيمة ونوع البيانات معاً لذلك يستخدم المعامل ثلاثي المساواة ( === )
<?php
$num1 = '1';
$num2 = 1;
if ($num1 === $num2){
echo 'Equal';
}else{
echo 'Not equal';
}
?>

عند استبدال ( == ) بـ ( === ) تكون نتيجة فحصص تحقق المساواة أن المساواة غير صحيحة ( FALSE ) لأنهم مساويان في القيم ومختلفان في نوع البيانات.

المعاملات المنطقية Logical Operators

المعاملات المنطقية هي عبارة عن دمج بين عمليتي مقارنة . مثلاً اذا كنت تريد تناول الغذاء فأنت تقول إذا كان الوقت أكبر من الساعة 12 وأقل من الساعة 3 سأتناول الغذاء. أيضاً يمكن أن تكون العمليات المنطقية متداخلة , بمعني أنه إذا كان الوقت فعلاً بين 12 و 3 فأنت تقوم بإجراء عملية منطقية أخري كنتيجة للسابقة , مثلاً أنك قد تضع شَرط أنه إذا كانت رائحة الأكل هي رائحة دجاج ودجاج مشوي فستتناول الغذاء أما إن لم يكن فستقوم بالذهاب للمطعم بين الساعة 12 و 3 لتناول غذائك المفضل. تتضمن العمليات المنطقية نتيجتين صحيحتين True أو نتيجتين خاطئتين False


أتوقع أن جميع المعاملات السابقة واضح معناه ولكن يوجد المعامل xor والذي يرجع إلي exclusive or (حصراً أو) والتي تقوم بإعطاء النتيجة True إذا كان أحد الشرطين صحيحاً وتعطي False إذا تحقق الشرطان في آن واحد. مثلاً قد ينصحك الطبيب بعدم أكل الأسماك وشرب اللبن سوياً بسبب الضرر الذي ستتعرض له فإذا كانت الوجبة تحتوي علي سمك و لبن فأنت تقرر إما تأكل سمك فقط (حصراً) أو لبن فقط
ويمكن التعبير عن العملية المنطقية السابقة في PHP بالشكل التالي
$meal= $fish xor $milk

المعاملات فى php المعاملات فى php Reviewed by tarik on يناير 27, 2019 Rating: 5

ليست هناك تعليقات:

يتم التشغيل بواسطة Blogger.