كنت حابب اعرف اية الفرق الفرق بين ال & و && ؟! فى php
ما هو الفرق بين & و &&
& للمصدرية (يعني استخدمها قبل استدعاء اسم المتغير) مثلا اذا قمنا بعمل دالة كا التالي:
function valuate(&$var){
$var = 'Rashid';
}
لاحظ المتغير (في الباراميتر) مسبوق بعلامة &
معناه أي متغير ستضعه في هذه الدالة (سوف تتغير قيمته الاصلية) لنجرب الدالة كا التالي
$name = 'Muhammad';
valuate($name);
echo $name;
لاحظ سوف يقوم بطباعة 'Rashid' لان الدالة قامت بتعديل القيمة الاصلية للمتغير داخل وخارج الدالة. بينما لو قمت بإزالة & من باراميتر الدالة ستقوم بطباعة 'Muhammad' لان المتغير يكون تغير داخل الدالة فقط ولن يؤثر ذلك على خارجها. (لذلك & معناها المصدر الاصلي للمتغير)
تمام شكرا جدا للرد
انا كنت اقصد استخداماه داخل ال if
مثال
$g = 4;
$s = 66;
if($s & $g )
if($s && $g )
يا ترى اية الفرق !!
لم اكن اعرف من قبل، وبدأت تتضح لي الصورة من خلال هذا المصدر.
& تعني و (and) و && كذلك تعني و (and) ولكن تختلف لم اجد طريقة لشرح لك سوف أعطيك أمثلة
لاحظ هذا اريد أن أقوم بالتحقق من متغير $var هل موجود وأيظا هل صحيح سوف أستعمل & وأقوم بكتابة هذا
$var = 'test';
if(isset($var) & $var == true){
echo $var;
}
ولكن اذا لم يكن المتغير موجود سوف تظهر أخطاء يعني يجب أن أتحقق من المتغير أولا هل موجود ثم أقوم بالتحقق من قيمته هل صحيحة ويجب أن أكتب هذا
$var = 'test';
if(isset($var)){
if($var == true){
echo $var;
}
}
لاحظ في الكود الثاني استعملت الشرط مرتان ولكي أختصر الكود سأستعمل && عوض & في شرط واحد يعني اذا لم يجد المتغير فلن يتم التحقق من قيمته واذا وجده سيتم التحقق من قيمته كما في الكود الثاني لكن هنا مختصر لن أكتب الشرط مرتان شاهد هذا
$var = 'test';
if(isset($var) && $var == true){
echo $var;
}
التعليقات