You are on page 1of 33

Web Application Development

Functions

Mohammed 1
‫‪Outlines‬‬
‫أﻧﻮاع اﻟﺪوال‬
‫اﺳﺘﺨﺪام اﻟﺪوال‬
‫ﺑﻨﺎء اﻟﺪوال‬

‫‪2‬‬
‫أﻧﻮاع اﻟﺪوال ﻓﻲ ‪PHP‬‬
‫ﻟﺪﻳﻨﺎ ‪ ٣‬اﻧﻮاع ﻣﻬﻤﺔ ﻣﻦ اﻟﺪوال ﻓﻲ ‪PHP‬‬
‫‪Built-in Functions‬‬
‫وﻫﻲ دوال ﻣﻦ أﺳﺎس اﻟﻠﻐﺔ وﻫﻲ ﻣﺎﺗﻮﻓﺮﻫﺎ ﻟﻚ ‪PHP‬‬
‫ﻟﺘﺴﺘﺨﺪﻣﻬﺎ ﻣﺒﺎﺷﺮة‬
‫‪User Defined Functions‬‬
‫وﻫﻲ اﻟﺪوال اﻟﺘﻲ ﻧﻘﻮم ﺑﺈﻧﺸﺎﺋﻬﺎ وإﺳﺘﺨﺪاﻣﻬﺎ ﻓﻲ ﻣﺸﺎرﻳﻌﻨﺎ‬
‫اﻟﺒﺮﻣﺠﻴﺔ‬
‫دوال اﻟﻤﻜﺘﺒﺎت اﻹﺿﺎﻓﻴﺔ‬
‫ﻣﺜﻞ ﻣﻜﺘﺒﺔ ‪ GD‬ﻟﻠﺼﻮر ﻳﺘﻄﻠﺐ ﺗﺜﺒﻴﺘﻬﺎ وﺗﻔﻌﻴﻠﻬﺎ ﺣﺘﻰ ﻧﺘﻤﻜﻦ‬
‫ﻣﻦ إﺳﺘﺨﺪاﻣﻬﺎ‬
‫‪3‬‬
‫ﻣﺎﻫﻲ ‪User Defined Functions‬‬
‫وﻫﻲ اﻟﺪوال اﻟﺘﻲ ﻧﻘﻮم ﺑﺘﻌﺮﻳﻔﻬﺎ وإﻧﺸﺎﺋﻬﺎ ﻟﻨﺴﺘﺨﺪﻣﻬﺎ ﻋﻨﺪ‬
‫ﻛﺘﺎﺑﺔ أﻛﻮاد ‪PHP‬‬

‫وﻫﻲ ﻋﺒﺎرة ﻋﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻷﻛﻮاد اﻟﺒﺮﻣﺠﻴﺔ ﻳﺘﻢ ﺗﻌﺮﻳﻔﻬﺎ‬


‫ﺑﺼﻴﻐﺔ ﻣﺤﺪدة ﻹﻧﺸﺎء داﻟﺔ ‪ function‬وﻳﻤﻜﻦ إﺳﺘﺨﺪام‬
‫ﻫﺬه اﻟﺪاﻟﺔ ﺑﺄﻛﺜﺮ ﻣﻦ ﻣﻜﺎن داﺧﻞ ﻣﻠﻔﺎت اﻟﻤﺸﺮوع اﻟﺒﺮﻣﺠﻲ‬

‫‪4‬‬
‫ﻣﺎﻫﻲ ‪User Defined Functions‬‬
‫ﻋﻨﺪ ﺗﻌﺮﻳﻒ أي داﻟﺔ ﺟﺪﻳﺪة داﺧﻞ ﻣﻠﻒ ﻓﺈﻧﻪ ﻟﻦ ﻳﺘﻢ ﺗﻨﻔﻴﺬ‬
‫ﻣﺤﺘﻮاﻫﺎ ﻣﺒﺎﺷﺮة ﻋﻨﺪ ﻓﺘﺢ اﻟﻤﻠﻒ ﺑﺎﻟﻤﺘﺼﻔﺢ‬
‫ﺳﻮف ﻳﺘﻢ ﺗﻨﻔﻴﺬ ﻣﺤﺘﻮى اﻟﺪاﻟﺔ ﻣﺒﺎﺷﺮة ﻋﻨﺪ إﺳﺘﺪﻋﺎء‬
‫اﻟﺪاﻟﺔ ﻓﻘﻂ‪.‬‬

‫‪5‬‬
‫ﺻﻴﻐﺔ ﻛﺘﺎﺑﺔ اﻟﺪاﻟﺔ ﻓﻲ ‪PHP‬‬
‫ﻛﺘﺎﺑﺔ اﻟﺪوال وﺗﻌﺮﻳﻔﻬﺎ ﺳﻬﻞ ﺟﺪا ﻛﻞ ﻣﺎﻋﻠﻴﻚ ﻫﻮ ﺗﻌﺮﻳﻒ‬
‫اﻟﺪاﻟﺔ ﺑﺈﺳﺘﺨﺪام اﻟﻜﻠﻤﺔ ‪ function‬ﺛﻢ ﻛﺘﺎﺑﺔ إﺳﻢ اﻟﺪاﻟﺔ‬
‫وﺑﻌﺪﻫﺎ ﻣﺒﺎﺷﺮة ﻧﺴﺘﺨﺪم ﻋﻼﻣﺘﻲ اﻷﻗﻮاس )( ﻣﺘﺒﻮﻋﺔ‬
‫ﺑﺎﻷﻗﻮاس اﻟﻤﻌﻘﻮﻓﺔ }{ وداﺧﻞ اﻷﻗﻮاس اﻟﻤﻌﻘﻮﻓﺔ }{ ﻧﻀﻊ‬
‫اﻷواﻣﺮ اﻟﺒﺮﻣﺠﻴﺔ اﻟﺘﻲ ﻧﺮﻏﺐ ﺑﺘﻨﻔﻴﺬﻫﺎ ﻋﻨﺪ إﺳﺘﺪﻋﺎء اﻟﺪاﻟﺔ‬
‫ﻣﺜﺎل ﻣﺒﺴﻂ ﻟﺼﻴﻐﺔ ﻛﺘﺎﺑﺔ داﻟﺔ ﺑﺴﻴﻄﺔ ‪Basic Function‬‬
‫‪Syntax‬‬
‫)(‪function functionName‬‬
‫{‬
‫;‪code to be executed‬‬
‫}‬ ‫‪6‬‬
‫ﺗﺴﻤﻴﺔ اﻟﺪوال‬
‫اﺳﻢ اﻟﺪاﻟﺔ ﻳﻤﻜﻦ ان ﻳﺒﺪأ ﺑﺤﺮوف او ﻋﻼﻣﺔ ‪ underscore‬ﻓﻘﻂ‬

‫اﺳﻢ اﻟﺪاﻟﺔ ﻻﻳﻤﻜﻦ ان ﻳﺒﺪأ ﺑﺄرﻗﺎم أﺑﺪا‬

‫إذا ﻛﺎن ﻻﺑﺪ ﻣﻦ وﺟﻮد ارﻗﺎم ﺑﻤﺴﻤﻰ اﻟﺪاﻟﺔ ﻳﺠﺐ ان ﻳﻜﻮن اول اﻹﺳﻢ‬
‫ﺣﺮف أو ‪ underscore‬ﺛﻢ اﻟﺮﻗﻢ‬

‫ﺣﺎول ﻗﺪر اﻟﻤﺴﺘﻄﺎع ان ﻳﻜﻮن اﻹﺳﻢ ﻳﻌﻜﺲ ﻋﻤﻞ اﻟﺪاﻟﺔ‬


‫إﺑﺘﻌﺪ ﻋﻦ اﻟﻤﺴﻤﻴﺎت اﻟﻄﻮﻳﻠﺔ‬

‫ﻣﺴﻤﻴﺎت اﻟﺪوال ﻏﻴﺮ ﺣﺴﺎﺳﺔ ﻋﻨﺪ اﻟﻜﺘﺎﺑﺔ ‪NOT case-sensitive‬‬


‫‪7‬‬
‫ﻣﺜﺎل‬
‫اﻵن ﺳﻨﻘﻮم ﺑﺘﻌﺮﻳﻒ أول داﻟﺔ ﺑﺴﻴﻄﺔ ﻋﻤﻠﻬﺎ ﻃﺒﺎﻋﺔ ﻧﺺ‬
‫ﺑﺎﻟﻤﺘﺼﻔﺢ ﻋﻨﺪ زﻳﺎرة اﻟﻤﻠﻒ‪.‬‬
‫‪<?php‬‬
‫‪// define the function‬‬
‫{ )(‪function name‬‬
‫;"!‪echo "Hello ali‬‬

‫ﻓﻲ ﻫﺬا اﻟﻤﺜﺎل ﻋﺮﻓﻨﺎ اول داﻟﺔ ﻟﻨﺎ وأﺳﻤﻴﻨﺎﻫﺎ ‪ name‬وﺗﻘﻮم ﺑﻄﺒﺎﻋﺔ‬
‫رﺳﺎﻟﺔ ﻟﻠﻤﺘﺼﻔﺢ ﻋﻨﺪ زﻳﺎرة اﻟﻤﻠﻒ ﻋﻦ ﻃﺮﻳﻖ ‪ localhost‬وﻟﻜﻦ ﻟﻦ‬
‫ﻳﺘﻢ ﺗﻨﻔﻴﺬ ﻣﺤﺘﻮى اﻟﺪاﻟﺔ ﺣﺘﻰ ﻧﻘﻮم ﺑﺈﺳﺘﺪﻋﺎء اﻟﺪاﻟﺔ‬
‫‪8‬‬
‫اﺳﺘﺪﻋﺎء اﻟﺪاﻟﺔ‬
‫ﻳﺘﻢ اﻻﺳﺘﺪﻋﺎء ﺑﺎﺳﺘﺨﺪام اﺳﻢ اﻟﺪاﻟﺔ ﻣﺘﺒﻮﻋﺔ ﺑﺎﻷﻗﻮاس )(‬
‫وﺳﻮف ﻳﺘﻢ ﺗﻨﻔﻴﺬ ﻣﺤﺘﻮى اﻟﺪاﻟﺔ ﻣﺒﺎﺷﺮة ﻋﻨﺪ زﻳﺎرة اﻟﻤﻠﻒ‬
‫ﻣﻦ اﻟﻤﺘﺼﻔﺢ ﺑﺈﺳﺘﺨﺪام اﻟﺴﻴﺮﻓﺮ اﻟﻤﺤﻠﻲ‬
‫‪// call the function‬‬
‫;)(‪name‬‬

‫‪9‬‬
‫ﻣﺪﺧﻼت اﻟﺪوال ‪Function Arguments‬‬
‫ﻳﻤﻜﻦ ﺗﻤﺮﻳﺮ اﻟﻤﻌﻠﻮﻣﺎت ﻟﻠﺪاﻟﺔ ﻋﻦ ﻃﺮﻳﻖ اﻟﻤﺪﺧﻼت‬
‫‪ Arguments‬وﻫﺬه اﻟﻤﺪﺧﻼت ﺗﺸﺒﻪ اﻟﻤﺘﻐﻴﺮات وﻳﻤﻜﻦ‬
‫ﺗﻌﺮﻳﻒ أﻛﺜﺮ ﻣﻦ ﻣﺪﺧﻞ ﻟﻠﺪاﻟﺔ ﻛﻞ ﻣﺎﻋﻠﻴﻚ داﺧﻞ ﻋﻼﻣﺘﻲ‬
‫اﻷﻗﻮاس ﻛﺘﺎﺑﺔ أﺳﻤﺎء اﻟﻤﺪﺧﻼت ﻣﻔﺼﻮﻟﻴﻦ ﻋﻦ ﺑﻌﺾ ﺑﻌﻼﻣﺔ‬
‫اﻟﻔﺎﺻﻠﺔ‪.‬‬

‫ﻟﻮ أﺧﺬﻧﺎ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ وأﺿﻔﻨﺎ ﻣﺪﺧﻞ ‪ firstName‬ﻟﺘﺼﺒﺢ‬


‫اﻟﺪاﻟﺔ أﻛﺜﺮ ﻣﺮوﻧﺔ وﺗﻄﺒﻊ إﺳﻢ ﻧﻘﻮم ﺑﺘﺤﺪﻳﺪه ﻋﻨﺪ إﺳﺘﺪﻋﺎء‬
‫اﻟﺪاﻟﺔ ﺳﻴﻜﻮن ﺷﻜﻞ اﻟﻜﻮد ﻛﺎﻟﺘﺎﻟﻲ‬

‫‪10‬‬
Function Arguments ‫ﻣﺪﺧﻼت اﻟﺪوال‬

<?php : ‫ﺗﺼﺒﺢ اﻟﺪاﻟﺔ ك اﻻﺗﻲ‬


// define the function with argument
function name($firstName) {
echo "Hello $firstName! ";
}
: ‫ﻳﺘﻢ اﺳﺘﺪﻋﺎء ﻫﺬه اﻟﺪاﻟﺔ ك اﻻﺗﻲ‬

// call the function and insert argument


name('ali');
name('Mohammed');
name('saad');
11
Function Arguments ‫ﻣﺪﺧﻼت اﻟﺪوال‬
ً ‫ ﻣﺜ‬age ‫واذا اﺿﻔﻨﺎ ﻣﺪﺧﻞ ﺟﺪﻳﺪ ﺑﺈﺳﻢ‬
‫ﻼ ﻟﻄﺒﺎﻋﺔ ﻋﻤﺮ‬
:‫اﻟﺸﺨﺺ أﻳﻀﺎ ﺳﻴﻜﻮن ﺷﻜﻞ اﻟﻜﻮد ﻛﺎﻟﺘﺎﻟﻲ‬
<?php
// define the function with 2 argument ‫اﻟﺪاﻟﺔ‬
function name($firstName, $age) {
echo "Hello $firstName You are $age
Year Old ";
}
// call the function and insert 2 argument
name('ali', 28);
‫اﻻﺳﺘﺪﻋﺎء‬ name('Mohammed ', 25);
name('saad', 24); 12
‫اﻟﻘﻴﻢ اﻹﻓﺘﺮاﺿﻴﺔ ﻟﻠﻤﺪﺧﻼت ‪Default‬‬
‫‪Argument Value‬‬
‫أﺣﻴﺎﻧﺎ ﻋﻨﺪ ﺗﻌﺮﻳﻒ اﻟﺪاﻟﺔ وإﺿﺎﻓﺔ ﻣﺪﺧﻼت ﻓﺈﻧﻚ ﺗﺮﻏﺐ‬
‫ﺑﺘﻌﻴﻴﻦ ﻗﻴﻢ إﻓﺘﺮاﺿﻴﺔ ﻟﺒﻌﺾ اﻟﻤﺘﻐﻴﺮات ﻟﻴﺘﻢ إﺳﺘﺨﺪام‬
‫ﻫﺬه اﻟﻘﻴﻢ ﻓﻲ ﺣﺎﻟﺔ ﺗﻢ إﺳﺘﺪﻋﺎء اﻟﺪاﻟﺔ وﻟﻢ ﻳﺘﻢ ﺗﻤﺮﻳﺮ‬
‫ﻗﻴﻤﺔ ﻟﻠﻤﺪﺧﻞ ﻟﺘﻜﻮن اﻟﺪاﻟﺔ أﻛﺜﺮ ﻣﺮورﻧﺔ وﻟﺘﻼﻓﻲ ﺣﺪوث‬
‫اﻷﺧﻄﺎء ﻋﻨﺪ إﺳﺘﺪﻋﺎء داﻟﺔ ﻟﺘﻨﻔﻴﺬ أواﻣﺮﻫﺎ ﻓﻠﻮ أﺧﺬﻧﺎ‬
‫اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ وﻋﻨﺪ إﺳﺘﺪﻋﺎء اﻟﺪاﻟﺔ ﻟﻢ ﻧﻘﻢ ﺑﺈدﺧﺎل ﻗﻴﻤﺔ‬
‫ﻟﻠﻤﺪﺧﻞ ‪ age‬ﻷول إﺳﺘﺪﻋﺎء ﻟﻴﻜﻮن ﺷﻜﻞ اﻟﻜﻮد ﻛﺎﻟﺘﺎﻟﻲ ‪:‬‬
‫‪// call the function and insert 2 argument‬‬
‫ﻫﻨﺎ ﻟﻢ ﻳﺘﻢ اﻻﺳﺘﺪﻋﺎء ﺑﻜﺎﻣﻞ اﻟﻤﺘﻐﻴﺮات ;)'‪name('ali‬‬
‫;)‪name('Mohammed ', 25‬‬
‫‪13‬‬
‫اﻟﻘﻴﻢ اﻹﻓﺘﺮاﺿﻴﺔ ﻟﻠﻤﺪﺧﻼت ‪Default‬‬
‫‪Argument Value‬‬
‫ﺳﺘﻼﺣﻆ وﺟﻮد ﺧﻄﺄ ﻳﺨﺒﺮك ﺑﺄﻧﻚ ﻟﻢ ﺗﻘﻢ ﺑﺈدﺧﺎل ﻗﻴﻤﺔ‬
‫ﻟﻠﻤﺪﺧﻞ اﻟﺜﺎﻧﻲ ﻋﻨﺪ إﺳﺘﺪﻋﺎء اﻟﺪاﻟﺔ ‪name‬‬

‫‪14‬‬
‫اﻟﻘﻴﻢ اﻹﻓﺘﺮاﺿﻴﺔ ﻟﻠﻤﺪﺧﻼت ‪Default‬‬
‫‪Argument Value‬‬
‫ﻟﺤﻞ ﻫﺬه اﻟﻤﺸﻜﻠﺔ ﻧﻘﻮم ﺑﺘﻌﻴﻴﻦ ﻗﻴﻤﺔ إﻓﺘﺮاﺿﻴﺔ ﻟﻠﻤﺪﺧﻞ‬
‫‪ age‬ﻋﻨﺪ ﺗﻌﺮﻳﻒ اﻟﺪاﻟﺔ ﻟﻴﺘﻢ إﺳﺘﺨﺪام ﻫﺬه اﻟﻘﻴﻤﺔ‬
‫إﻓﺘﺮاﺿﻴﺎ ﻋﻨﺪﻣﺎ ﻧﺴﺘﺪﻋﻲ اﻟﺪاﻟﺔ وﻻﻧﺪﺧﻞ ﻗﻴﻤﺔ ﻟﻠﻤﺪﺧﻞ‬
‫‪ age‬ﺳﻨﻘﻮم ﺑﺘﻌﺪﻳﻞ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻟﻴﺼﺒﺢ ﺷﻜﻞ اﻟﻜﻮد‬
‫‪<?php‬‬ ‫ﻛﺎﻟﺘﺎﻟﻲ‪:‬‬
‫‪// define the function with 2 argument and‬‬
‫‪assign default value for 2nd argument‬‬
‫{ )‪function name($firstName, $age = 28‬‬
‫‪echo "Hello $firstName You are $age Year‬‬
‫;" ‪Old‬‬
‫}‬ ‫‪15‬‬
‫إرﺟﺎع اﻟﻘﻴﻢ ‪Returning values‬‬
‫أﺣﻴﺎﻧﺎ ﻋﻨﺪ اﻟﻌﻤﻞ ﻣﻊ اﻟﺪوال ﻓﺄﻧﺖ ﻻﺗﺮﻏﺐ ان ﺗﻘﻮم اﻟﺪاﻟﺔ‬
‫ﺑﻄﺒﺎﻋﺔ ﻧﺺ وإﻧﻤﺎ ان ﺗﻌﻴﺪ اﻟﺪاﻟﺔ ﻗﻴﻤﺔ ﻣﺤﺪدة ﻳﻤﻜﻦ ذﻟﻚ‬
‫ﺑﺈﺳﺘﺨﺪام ‪ return‬داﺧﻞ اﻟﺪاﻟﺔ ﺑﻜﻞ ﺳﻬﻮﻟﺔ ﺳﻨﻘﻮم ﺑﻌﻤﻞ‬
‫داﻟﺔ ﺟﺪﻳﺪ ﺗﻘﻮم ﺑﻌﻤﻠﻴﺔ ﺣﺴﺎﺑﻴﺔ ﻋﻠﻰ ﻣﺪﺧﻠﻴﻦ ﺛﻢ إرﺟﺎع‬
‫ﻗﻴﻤﺔ اﻟﻨﺎﺗﺞ ﺑﺈﺳﺘﺨﺪام ‪ return‬ﺛﻢ ﺑﻌﺪ ذﻟﻚ ﺳﻨﻄﺒﻊ اﻟﻨﺎﺗﺞ‬
‫ﻟﻠﻤﺘﺼﻔﺢ‪.‬‬

‫‪16‬‬
‫ﻣﺜﺎل‬
<?php .
// define the function with 2 argument
function sum($x, $y) {
$z = $x + $y;
return $z;
}
// we print the results after we call the
function and insert the arguments
echo "5 + 10 = " . sum(5, 10) . "<br>";
echo "7 + 13 = " . sum(7, 13) . "<br>";
echo "2 + 4 = " . sum(2, 4); 17
‫ﻣﺜﺎل‬

‫‪18‬‬
‫ﻣﻌﺎﻣﻼت اﻟﻨﺼﻮص‬

‫‪19‬‬
‫ﻣﻌﺎﻣﻼت اﻟﻨﺼﻮص‬

‫‪. Concatenation‬‬
‫‪$text1 . $text2‬‬
‫دﻣﺞ اﻟﻨﺺ ﻓﻲ اﻟﻤﺘﻐﻴﺮ ‪ text1‬ﺑﺎﻟﻨﺺ ﻓﻲ اﻟﻤﺘﻐﻴﺮ ‪text2‬‬

‫‪=. Concatenation assignment‬‬


‫‪$text1 .= $text2‬‬
‫اﺿﺎﻓﺔ ﻣﺤﺘﻮى اﻟﻨﺺ ﻓﻲ اﻟﻤﺘﻐﻴﺮ ‪ text2‬ﻟﻘﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ‬
‫‪text1‬‬

‫‪20‬‬
‫ﻣﺜﺎل‬
‫‪<?php‬‬
‫;'ﺟﺎﻣﻌﺔ' = ‪$text1‬‬
‫;'اﻟﺤﻜﻤﺔ ' = ‪$text2‬‬

‫‪ //‬رﺑﻄﻨﺎ اﻟﻨﺺ اﻷول ﺑﺎﻟﺜﺎﻧﻲ ﻟﻠﻄﺒﺎﻋﺔ ﺑﺪون ﺗﻐﻴﻴﺮ ﻗﻴﻢ اﻟﻤﺘﻐﻴﺮات‬


‫;‪echo $text1 . $text2‬‬

‫‪ //‬ﻋﺪﻟﻨﺎ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ اﻷول ﺑﺈﺿﺎﻓﺔ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ اﻟﺜﺎﻧﻲ ﺛﻢ ﻃﺒﺎﻋﺔ‬


‫اﻟﻘﻴﻤﺔ اﻟﺠﺪﻳﺪة ﻟﻠﻤﺘﻐﻴﺮ‬
‫;‪$text1 .= $text2‬‬
‫;‪echo $text1‬‬
‫‪21‬‬
‫ﻣﻌﺎﻣﻼت اﻟﻤﻘﺎرﻧﺔ‬

‫‪22‬‬
‫‪Comparison Operators‬‬
‫ﻋﻮاﻣﻞ اﻟﻤﻘﺎرﻧﺔ‬
‫ﻟﻠﻤﻘﺎرﻧﺔ ﺑﻴﻦ ﻗﻴﻤﺘﻴﻦ ﺳﻮاء ﻛﺎﻧﺖ ﻧﺼﻴﺔ او ﻋﺪدﻳﺔ وﻧﺎﺗﺞ‬
‫اﻟﻤﻘﺎرﻧﺔ اﻣﺎ ‪ TRUE‬او ‪ FALSE‬ﻧﻔﺼﻞ ﻣﺨﺘﻠﻒ اﻧﻮاع‬
‫اﻟﻤﻘﺎراﻧﺎت ﺑﺎﻟﺠﺪول‬
‫ﻛﺎﻟﺘﺎﻟﻲ‪:‬‬

‫‪23‬‬
24
‫ﻣﺜﺎل‬
$a = 10;
$b = '10';

// returns true because values are equal


var_dump($a == $b);
// returns false because types are not equal
var_dump($a === $b);
// returns false because values are equal
var_dump($a != $b);
// returns false because values are equal
var_dump($a <> $b);
25
‫ﻣﺜﺎل‬
$c = 50;
$d = 20;

// returns true because $c is greater than $d


var_dump($c > $d);
// returns false because $c is greater than $d
var_dump($c < $d);
// returns true because $c is greater than or equel to $d
var_dump($c >= $d);
// returns false because $c is greater than and not equel
to $d
var_dump($c <= $d);

26
‫ﻋﻮاﻣﻞ اﻟﺰﻳﺎدة‪/‬واﻻﻧﻘﺎص‬

‫‪27‬‬
‫ﻋﻮاﻣﻞ اﻟﺰﻳﺎدة‪/‬واﻻﻧﻘﺎص‬
‫ﺗﻨﻔﻴﺬ ﻋﻤﻠﻴﺎت زﻳﺎدة او ﻃﺮح ﻗﻴﻢ اﻟﻤﺘﻐﻴﺮات ﺑﻮاﺳﻄﺔ‬
‫ﻋﻮاﻣﻞ‬
‫اﻟﺰﻳﺎدة‪/‬اﻹﻧﻘﺎص‬
‫ﻧﻔﺼﻠﻬﺎ ﺑﺎﻟﺠﺪول‬

‫‪28‬‬
‫ﻣﺜﺎل‬
‫‪<?php‬‬
‫;‪$a = 10‬‬

‫‪ //‬ﻗﻤﻨﺎ ﺑﺰﻳﺎدة ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ ﺑﻮاﺣﺪ ﺛﻢ ﻃﺒﻌﻨﺎ اﻟﻨﺎﺗﺞ‬


‫;‪echo ++$a‬‬
‫‪ //‬ﻃﺒﻌﻨﺎ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ ﻣﺒﺎﺷﺮة ﺛﻢ ﻗﻤﻨﺎ ﺑﺰﻳﺎدة ﻗﻴﻤﺘﻪ ﺑﻮاﺣﺪ‬
‫;‪echo $a++‬‬
‫‪ //‬ﻃﺒﻌﻨﺎ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ اﻟﺠﺪﻳﺪة ﺑﻌﺪ اﻟﺰﻳﺎدة‬
‫;‪echo $a‬‬
‫‪ //‬ﻗﻤﻨﺎ ﺑﻄﺮح ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ ﺑﻮاﺣﺪ ﺛﻢ ﻃﺒﻌﻨﺎ اﻟﻨﺎﺗﺞ‬
‫;‪echo --$a‬‬
‫‪ //‬ﻃﺒﻌﻨﺎ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ ﻣﺒﺎﺷﺮة ﺛﻢ ﻗﻤﻨﺎ ﺑﻄﺮح ﻗﻴﻤﺘﻪ ﺑﻮاﺣﺪ‬
‫;‪echo $a--‬‬
‫‪ //‬ﻃﺒﻌﻨﺎ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ اﻟﺠﺪﻳﺪة ﺑﻌﺪ اﻟﻄﺮح‬
‫;‪echo $a‬‬

‫‪29‬‬
Logical operators

‫ﻋﻮاﻣﻞ اﻟﻤﻨﻄﻖ‬

30
31
‫ﻣﺜﺎل‬
<?php // and
$a = 100;
$b = 50;
if ($a == 100 && $b == 50) {
// and echo "and true ";
if ($a == 100 and $b == 50) { }
echo "and trur"; // or
}
// or
if ($a == 100 || $b == 10) {
if ($a == 100 or $b == 10) { echo " or true";
echo "or true "; }
} // not
// xor
if ($a == 100 xor $b == 10) { if ($a != 300) {
echo "xor true "; echo " not equal true";
} }

32
Any Questions?

33

You might also like