Մասնակից:Hovog83/Ավազարկղ1

Վիքիպեդիայից՝ ազատ հանրագիտարանից

Ի՞նչ է Server: Server-ը դա համակարգիչ է, որը տրամադրում է ՛ծառայություններ՛: Server բառը առաջացել է անգլերեն «to serve» բառից, որը նաշակում է ծառայել: Երբ մենք հնարավորություն ենք տալիս մեկ այլ համակարգչից օգտվել մեր համակարգչի ֆայլերից, մեր համակարգիշը դառնում է server, քանի որ մտուցում է ծառայություն՝ ֆայլերից օգտվելու: User-ը այստեղ հանդիսանում է մեր բրաուզերը, որի միջոցով մենք ցանկանում ենք այցելել որևէ կայք: User-ը բրաուզերում հավաքելով անհարժեշտ հասցեն, ուղարկում է հարցում Server-ին վերջինս վերամշակում այդ տեղեկատվությունը և էկրանավորում է User-ի համակարգչի էկրանին:




1. Ի՞նչ է PHP: Ներածություն: PHP-ն (PHP: Hypertext Preprocessor, «PHP՝ Հիպերտեքստային Պրեպրոցեսսոր») ընդհանուր նշանակության սկրիպտային ծրագրավորման լեզու է, որն ինտենսիվորեն օգտագործվում է վեբ ծրագրավորման մեջ։ Ներկայումս այն առաջատար ծրագրավորման լեզուներից մեկն է, որը կիրառվում է դինամիկ վեբ-կայքերի ստեղծման համար։ 2. Լեզվի սինտեքսիսը: PHP ծրագրում փոփոխականներ օգտագործելուց առաջ դրանք նախապես հայտարարելու կարիք չկա։ Ցանկացած ծրագիր կարող է սկսվել PHP-ի օպերատորից։ PHP-ով գրված Hello, world! ծրագիրն ունի հետևյալ տեսքը՝ <?php

 echo 'Hello, world!'; կամ  print(‘Hello world’);

?> echo-ի ' ' և "" մեջ տարբերություն կա: Եթե գրենք "$a" ապա կարտապատկերվի $a-ի արժեքը, իսկ '$a'` $a: Փոփոխականները կարտատպվեն ինչպես “$a” այնպես էլ HEREDOC-ի ժամանակ, որը ստեղծվում է <<<SOME_TEXT միջոցով: echo <<<SOME_NAME --- ոչինչ չի կարելի գրել SOME TEXT SOME_NAME - SOME_NAME-ից առայ ոչինչ չի կարելի գրել:

PHP-ն կատարում է միայն այն կոդը, որը <?php ?>-ի սահմաններում է։ Այն ամենը, ինչն այդ սահմաններից դուրս է գտնվում, արտածվում է առանց փոփոխության։ Հիմնականում դա օգտագործվում է HTML փաստաթղթում PHP կոդի տեղադրման համար։ Օրինակ՝ <html>

<head>
 <title>Փորձարկում ենք PHP-ն</title>
</head>
<body>
 <?php echo 'Hello, world!'; ?>
</body>

</html>

4. Փոփոխականներ: Փոփոխականների հայտարարման ձևեր:Փոփոխականների տիպերը: Դինամիկ փոփոխականներ:

Փոփոխականների անվանումները սկսվում են $ նշանով։ Փոփոխականի տեսակը հրապարակել պետք չէ։ Փոփոխականների, ֆունկցիաների, հաստատունների և դասերի անվանումներում մեծատառերն ու փոքրատառերը հաշվի են առնվում։ 

Փոփոխականների տիպերը:

ամբողջ⦁ ⦁ թվերը (integer), բնական⦁ (⦁ տասնորդական⦁ ⦁ կոտորակով⦁ ) ⦁ թվերը (float, double), տրամաբանակ⦁ ⦁ տիպը (boolean),// TRUE դեպքւմ կարտապատկերվի 1, Folse-ի դեպքում ոչինչ չի արտապատկերվի: տողային⦁ ⦁ տիպերը (string), ⦁ և ⦁ NULL հատուկ տիպը։ ⦁ «ռեսուրսները» (resource), զանգվածները (array), օբյեկտները (object) ⦁ number - թիվ (integer կամ float) Մեկնաբանությունները մեկ տողի դեպքում կարող ենք գրել // կամ # իսկ մի քանի տողի դեպքում /* */:


Դինամիկ փոփոխականներ:

Դինամիկ փոփոխականներ են համարվում նրանք, որի անունը պահպանվում է հենց փոփոխականի մեջ: Այսպես ասաց փոփոխական փոփոխականի մեջ: Օրինակ 1: $var = "first";  $$var = "Second"; 

  1.  $$var == $first == "Second" 

Օրինակ 2

<?php

  $first = "second"; 
  $second = "third"; 
  echo $first."
"; // prints "second"  echo $$first; // prints "third" 

?> Հաստատուններ

Հաստատունները դրանք փոփոխականներ են, որոնք իրենց արժեքները չեն փոխում: Օրինակ PI =3.14, g=8.9: echo M_PI; // արտապատկերում է 3,14 PHP կարող ենք հաստատուններ ստեղծենք մենք, որոնք ամբողջ սկրիպտի ընթացքում չեն փոփոխվի: Հաստատունները հայտարարվում են հետևյալ ձևով. define('PI', 3,14);// ունի նաև 3-րդ պարամետր, եթե գրենք true` define('PI', 3,14, true) վերջում մեծատառն ու փոքրատարը արտապատկերման ժամանակ էական դեր չեն խաղա: echo PI;//3,14 defined("PI"); //վերադարձնում է true կամ folse;

Փոփոխականների տիպերի հետ աշխատող ֆունկցիաներ

isset ()- ստուգում է գոյություն ունի թե ոչ unset()- ջնջում է փոփոխականը is_integer()- ամբողջ թիվ է թե ոչ is_double()-կոտորակային թիվ է թե ոչ is_numeric()- թիվ է թե ոչ is_string()-տող է թե ոչ is_array()-զանգված է թե ոչ is_nan() – թիվ է թե ոչ, վերադարձնում է TRUE եթե թիվ չէ gettype()-վերադարձնում է փոփոխականի տիպը


Օպերատորներ

Փոփոխականների հետ աշխատելու համար գոյություն ունեն օպերատորների բազմաթիվ խմբեր: Այն, ինչը կազմված է մեկ կամ մի քանի արժեքներից /արտահայտություններից/, հաշվում/կամ վերադարձնում է նոր արժեք կոչվում է օպերատոր: Այստեղից հետևում է, որ ֆունկցիաները կամ կամայական այլ կոնստրուկցիան, որը վերադարձնում է արժեք /օրինակ print()/ օպերատորներ են, ի տարբերություն մնացաց բոլոր լեզվային կոնստրուկցիաների /օրինակ echo()/, որը ոչինչ չի վերադարձնում:

Թվաբանական օպերատորներ 

օրինակ Անվանում Արդյունք -$a $a փոփոխականի նշանի փոփոխություն. $a + $b $a += $b Գումարում $a և $b գումարը. $a - $b $a -= $b Հանում $a և $b տարբերությունը. $a * $b $a *= $b Բազմապատկում $a և $b արտադրյալը. $a / $b $a /= $b Բաժանում $a և $b բաժանման արդյունքը. $a % $b $a %= $b Մոդուլով բաժանում $a և $b բաժանման արդյունքում մնացած մնացորդային ամբողջ մասը /Աշխատում է միայն ամբողջ թվերի հետ:Արդյունքը բացաական կլինի միայն $a –ի բացասական լինելու դեպքում/ Մի մաթեմատիկական գործողությանը մյուսի նկատմամբ առավելություն տալու համար օգտագործվում են փակագծեր /գործում է մաթեմատիկայից հայտի մեթոդը/:

Տրամաբանական օպերատորներ

Տրամաբանական օպերատորները նախատեսված են միայն ու միայն տրամաբանական արտահայտությունների հետ աշխատելու համար և վերադարձնում են false կամ true: Աղյուսակ տրամաբանական օպերատորների Օրինակ Անվանում Արդյունք $a and $b տրամաբանական 'և' TRUE եթե և $a, և $b TRUE. $a or $b Տրամաբանական 'կամ' TRUE եթե կամ $a, կամ $b TRUE. $a xor $b Բացառող 'կամ' TRUE եթե $a, եթե $b TRUE, բայց ոչ երկուսը. ! $a Ժխտող TRUE եթե $a TRUE չէ. $a && $b Տրամաբանական 'և' TRUE եթե և $a, և $b TRUE. $a || $b Տրամաբանական 'կամ' TRUE եթե կամ $a, կամ $b TRUE. "and" և "or" տրամաբանական օպերատորների 2 ձևով գրելու էությունը կայանում է նրանում, որ դրանք աշխատում են տարբեր առավելություններով /приоритетами/: Приоритет օպերատոր կատարման հաջորդականությունը 13 (постфикс)++ (постфикс)-- Ձախից աջ 12 ++(префикс) --(префикс) Ձախից աջ 11 * / % Ձախից աջ 10 + - Ձախից աջ 9 << >> Ձախից աջ 8 < <= > >= Ձախից աջ 7 == != Ձախից աջ 6 & Ձախից աջ 5 ^ Ձախից աջ 4 | Ձախից աջ 3 && Ձախից աջ 2 || Ձախից աջ 1 = += -= *= /= %= >>= <<== &= ^= |= Ձախից աջ

Տողային օպերատորներ PHP –ում տողերի հետ աշխատող 2 օպերատոր կա: Առաջինը - օպերատոր concatenate ('.'), որը միավորում է աջ և ձախ կողմերի արժեքները: Երկրորդը – վերագրման օպերատոր concatenate-ով, որը միավորում է ձախ կողմինին աջը: Օրինակներ՝ <?php $a = "Hello "; $b = $a . "World!"; // $b "Hello World!"

$a = "Hello "; $a .= "World!";     // $a  "Hello World!" ?> $a .= $b     $a = $a . $b  Concatenate

"""<<< Այս գրելաձևը սխալ է, " արտապատկերելու համար պետք է գրենք "\"":

echo `attrib`; <<< կարտապատկերի թե որտեղ է գտնվում ծրագիրը, որով աշխատում ենք և ինչ file-եր կան այնտեղ:

Վերագրման օպերատորներ

Վերագրման օպերատորը ունի ՛=՛ նշանը: Սա նշանակում է, որ ձախ կողմի գրված փոփոխականը ստանում է աջ կողմի վրա գրված արժեքը: <?php

$a = ($b = 4) + 5; // $a սահմանվում է 9, $b փոփոխականին վերագրվել է 4.

?>

<?php $a = 3; $a += 5; //  $a համար սահմանում է 8 արժեք; $b = "Hello "; $b .= "There!"; // $b համար սահմանում "Hello There!", ?> PHP 4 սկսած ունենք նաև հղումային վերագրում՝  $var = &$othervar; 'Հղումային վերագրում' նշանակում է, որ 2 փոփոխականներն էլ ցույց են տալիս միևնույն տվյալները: $a=-5; $b=&$a; $b=4; echo "b=$b";//b=4 echo "a=$a";//a=4


Համեմատության օպրատորներ /Операторы сравнения/

Այս օպերատորը անկախ արգումենտների տիպից վերադարձնում են false կամ  true: Այն համեմատում է երկու արժեքներ՝ ետե պայմանը տեղի ունի վերադարձնում է true, հակառակ դեպքում false: Համեմատության օպերատորներ: Օրինակ Անվանում Արդյունք $a == $b Հավասար TRUE եթե $a հավասար է $b. $a === $b Բացարձակ հավասար TRUE եթե $a հավասար է $b և ունեն նույն տիպը. (PHP 4) $a != $b Հավասար չէ TRUE եթե $a հավասար չէ $b. $a <> $b Հավասար չէ TRUE եթե $a հավասար չէ $b. $a !== $b Բացարձակ հավասար TRUE եթե $a հավասար չէ $b կամ երբ նրանք տարբեր տիպեր ունեն (PHP 4) $a < $b Փոքր TRUE եթե $a փոքր է $b. $a > $b Մեծ TRUE եթե $a մեծ է $b. $a <= $b Փոքր է կամ հավասար TRUE եթե $a փոքր է կամ հավասար $b. $a >= $b Մեծ է կամ հավասար TRUE եթե $a մեծ է կամ հավասար $b Այն դեպքում, երբ փորձում ենք համեմատել տեղը թվի հետ, տողը կվերափոխվի ամբողջ թվի:

var_dump(0 == "a"); // 0 == 0 -> true  var_dump("1" == "01"); // 1 == 1 -> true 

Ավելացանև նվազեցման օպերատորներ /Операторы инкремента и декремента в PHP/ օրիակ Գործողություն ++$a Ավելացնում է $a 1-ով և վերադարձնում է $a-ի արժեք $a++ Վերադարձնում է $a-ի արժեքը, հետո այն ավելացնում է 1-ով --$a Նվազեցնում է $a-ն 1-ով և վերադրաձնում է $a-ին արժեք. $a-- Վերադարձնւոմ է $a-ն, հետո այն նվազեցնում է 1-ով

Օր.1 $a=10; $b=$a++; echo "a=$a, b=$b"; // a=11, b=10

Օր. 2 $a=10; $b=--$a; echo "a=$a, b=$b"; // a=9, b=9

Զանգվածների հետ աշխատող օպերատորներ

Օրինակ Անվանում Արդյունք $a + $b Միավորում Միավորում է a և $b զանգվածները. $a == $b Հավասար է TRUE եթե, $a և $b զանգվածները պարունակում են միևնույն էլեմենտները $a === $b Բացարձակ հավասար TRUE եթե, $a և $b զանգվածները պարունակում են միևնույն էլեմենտները նուն հաջորդականությամբ $a != $b Հավասար չէ TRUE եթե $a զանգվածը հավասար չէ $b զանգվածին. $a <> $b Հավասար չէ TRUE եթե $a զանգվածը հավասար չէ $b զանգվածին. $a !== $b Բացարձակ հավասար չէ TRUE եթե $a-ն բացարձակ հավասար չէ $b զանգվածին.

Օրինակներ

<?php

  $a = array("a" => "apple", "b" => "banana");
  $b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");
  $c = $a + $b; // Объеденение $a и $b
  var_dump($c); array(3) { 

["a"]=> string(5) "apple" ["b"]=> string(6) "banana" ["c"]=> string(6) "cherry" }


$c = $b + $a; // Объединение $b и $a echo "Union of \$b and \$a: \n"; var_dump($c); array(3) { ["a"]=> string(4) " pear " ["b"]=> string(10) " strawberry " ["c"]=> string(6) " cherry " } ?>

<?php

  $a = array("apple", "banana");
  $b = array(1 => "banana", "0" => "apple");
  var_dump($a == $b); // bool(true)
  var_dump($a === $b); // bool(false)

?>

Սխալների կառավարման պերատոր PHP ունի միայն մեկ օպերատոր, որը կառավարում է սխալները՝ @ : Այն դեպքում, երբ այն դրված է ինչ-որ արտահայտությունից առաջ, ապա այն սխալնեը, որոնք ի հայտ են գալիս այդ արտահայտության աշխատանքի ժամանակ՝ կանտեսվեն: $value = $cache[$key];

//Notice: Undefined variable: cache in C:\xampp\htdocs\test.php on line 2 //Notice: Undefined variable: key in C:\xampp\htdocs\test.php on line 2

Իսկ

$value = @$cache[$key]; արտահայտության ժամանակ սխալը չի արտապատկերվի:

Եթե php.ini ֆայլում դրված է track_errors կարգավորումը, ապա բոլոր error-ները պահպանվում են $php_errormsg փոփոխականի մեջ: Ամեն անգամ նոր սխալներ ի հայտ գալու դեպքում նրա արժեքը փոխվում է: Դրա համար անհրաժեշտության դեպքում այն ամեն անգամ ստուգեք:




OLD

Մաթեմատիկական ֆունկցաիներ


Մաթեմատիկական ֆունկցիաները նախատեսված են թվային փոփոխականների հետ աշխատելու համար: Դա նշանակում է, որ գործողության ժամանակ փոփոխականները պետք է լինեն կամ int կամ float տիպի: Հիմնական օգտագործվող ֆունկցիաներից մի քանիսը. abs round floor ceil max min rand sqrt


abs()- վերադարձնում է թվի մոդուլը <?php 

  $abs = abs(-4.2); // $abs = 4.2; (double/float)
  $abs2 = abs(5);   // $abs2 = 5; (integer)
  $abs3 = abs(-5);  // $abs3 = 5; (integer)

?> round($x)-կլորացնում է թիվը բերելով ամբողջ թվի <?php

  echo round(3.4);         // 3
  echo round(3.5);         // 4
  echo round(3.6);         // 4

?> round($x,2)- կլորացնում է թիվը ստորակետից հետո թողնելով 2 թիվ <?php

  echo round(3.6, 0);      // 4
  echo round(1.95583, 2);  // 1.96
  echo round(1241757, -3); // 1242000
  echo round(5.045, 2);    // 5.05
  echo round(5.055, 2);    // 5.06

?> ceil($x)-կլորացնում է ամենափոքր թվով <?php

  echo ceil(4.3);    // 5
  echo ceil(9.999);  // 10
  echo ceil(3.0);    // 3

?> floor($x)-կլորացնում է ամենամեծ թվով <?php

  echo floor(4.3);   // 4
  echo floor(9.999); // 9
  echo floor(5.0); // 5

?> max()-վերադարձնում է նշված փոփոխականներից ամենամեծը <?php

  $test = max('строка', array(0, 1), 4, 7);
  print_r($test);
  // Array ( [0] => 0 [1] => 1 ) – եթե փոփոխականներից մեկը զանգված է, ապա այն ամենամեծն է: Եթե երկու զանգված կա, ապա համեմատում է զանգվածի էլեմենտները՝ սկզբում առաջինները, հետո երկրորդ…

?>

min()-վերադարձնում է նշված փոփոխականներից ամենամեծը

<?php

  $test = min('строка', array(0, 1), 4, 7);
  print_r($test);
  // 'строка' – եթե փոփոխականներից մեկը տող է, ապա այն կհամարվի ամենափոքր էլեմենտը: 

?>

mt_rand()/rand() - պատահական թիվ է վերադարձնում: Ունի երկու պարամետր` եթե պետք է միջակայքը նշել:

<?php

echo rand();
echo rand();
echo rand(5, 15);

?>

getrandmax() – վերադարձնում է ամենամեծ պատահական թիվը: <?php

   echo getrandmax(); //32767

?>

Եթե պետք է, որ վերադարձնի կոտորակային թիվ նշված միջակայքում գրում ենք հետևյալ կոդը. <?PHP $a=5; $b=7; //կվերադարձնի կոտորակային թիվ [$a,$b] թվերի միջակայքում, ենթադրվում է, որ $a<$b $iRand=rand(1, 32767); echo $fRand=$a+($b-$a)*$iRand/32767; ?> sqrt() – վերադարձնում է թվի քառակուսի արմատը: <?php echo(sqrt(0) . "
"); // 0 echo(sqrt(1) . "
"); // 1 echo(sqrt(9) . "
"); // 3 echo(sqrt(0.64) . "
"); // 0.8 echo(sqrt(-9)); // NAN

?> pow($a,$b) – վերադարձնում $a-ի $b ասիճանը <?php var_dump(pow(2,8) ); // int(256) echo pow(-1,20); // 1 echo pow(0, 0); // 1 echo pow(-1, 5.5); // NAN ?>

Գործողությունների կատարման հաջորդականությունը /Приоритет/


<?php $a = 3 * 3 % 5; // (3 * 3) % 5 = 4

$a = 1; $b = 2; $a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5 ?>

Տողեր: Տողային ֆունկցիաներ

PHP-ում հայերեն կամ ռուսերեն գրելու համար օգտագործվում է header(`Content-Type: text/html; charset=UTF-8’) header-ը օգտագործվում է նաև էջը փոխելու համար header(‘Locetion:http://www.google.ru’); header(‘Refresh:3;URL=http://www.google.ru’) Տողը դա char տիպի սիմվոլների հաջորդականություն է, որը ավարտվում է զրոյական սիմվոլով:. Ֆունկցիա substr() վերադարձնում է տողի սիմվոլների մի մասը. Ունի երեք պարամետր: Առաջինը` տողն է, երկրորդը` ցույց է տալիս թե տողի որ սիմվոլից սկսած է վերցնելու, երրորդը` քանի սիմվոլ է վերցնելու: Երրորդը կարող ենք չնշել, այդ դեպքում կվերցնի տողը նշված սիմվոլից սկսված: Հաշվարկը սկսում է կատարել սկզբից: Եթե ուզում ենք սիմվոլները վերցնել վերջից հաշված թիվը գրում ենք '-' նշանով: Օրինակ: <?PHP

  $c='Red Green Blue';
  echo substr($c,4); // Green Blue
  echo substr($c,-4); // Blue
  echo substr('Simple text', 3, 7); // ple tex

?> P.S. UTF-8 – համար օգտագործվում է mb_substr( ) հետևյալ ձևով

  	mb_internal_encoding("UTF-8"); //վերադարձնում է UTF-8 

$s = 'Տաթևիկ'; echo mb_strlen($s); //6 echo mb_substr($s, 3); // ևիկ mb_internal_encoding();//արտապատկերում է տվյալ պահի էջի encoding-ը:

strstr() – Ունի երկու պարամետր: Առաջինը` տողն է: Երկրորդը` փնտրվող սիմվոլը: Վերադարձնում է տողը գտնված սիմվոլից սկսած դեպի աջ:

<?php

$text = 'www.wikibooks.org';
$strstr = strstr($text, '.');// ունի նաև 3-րդ պարամետր՝ true, նշելու դեպքում վերադարձնում է ոչ թե նշված սիմվոլից աջ այլ ձախ եղած սիմվոլների հաջորդականությունը
print $strstr; //.wikibooks.org

?> strrchr() – նույնն է ինցհ strstr()-ը բայց սիմվոլի փնտրումը սկսում է աջից: Վերադարձնում է տողը գտնված սիմվոլից սկսած դեպի ձախ: <?php

$text = 'www.wikibooks.org';
$strrchr = strrchr($text, '.');
print $strrchr;// .org

?>

ucwords()- տողում գրված առաջի սիմվոլը դարձնում է մեծատառ: substr_count() – վերադարձնում է նշված սիմվոլի քանակը տվյալ տեքստում <?php

	print substr_count('www.wikibooks.org', 'o'); //3

?>

strlen — վերադարձնում է տողի երկարությունը

<?php

 $str = 'abcdef';
 echo strlen($str); // 6
 $str = ' ab cd ';
 echo strlen($str); // 7

?> UTF-8-ի համար գրում ենք հետևյալ ձևով` mb_internal_encoding("UTF-8"); $s = 'Տաթևիկ'; echo mb_strlen($s); //8

str_replace() – կատարում է սիմվոլի փոփոխություն: Ունի 3 պարամետր: Առաջինը` տողի մեջ փոխարինվող սիմվոլն է: Երկրորդը` ինչ սիմվոլով է փոխարինվելու: Երրորդը` տողն է:

<?php

echo str_replace("world","Peter","Hello world!"); //Hello Peter!

?>

trim() – տողից հեռացնում է նշված սիմվոլները` եթե դրանք առաջի և վերջի սիմվոլներն են, իսկ ոչինչ չնշելու դեպքում հեռացնում է առաջևի և վերջի պրոբելները:

<?php

 $str = "Hello World!";
 echo $str . "
"; echo trim($str,"Hed!");

?>  //Hello World!  llo Worl

<?php

     $c=' text ';
     echo strlen($c)."
";/9 echo strlen(trim($c)); //4

?> Հանձնարարություն - Խնդիր 2: 1. հայտարարել $name փոփոխական, նրան վերագրել Ձեր անուն 2. հայտարարել $age փոփոխական վերագրել Ձեր տարիքը արտապատկարել էկրանին Իմ անունը $name է: Ես $age տարեկան եմ: Խնդիր 2: Հայտարարել 3 փոփոխական: ($product1, $product2, $product3) և նրանց համապատասխան 3 փոփոխական ($priec1, $priec2, $priec3): Էկրանին արտապատկերել $product_n=>$priec_n; "օրնակ կարմիր գույնով" // echo "$str=>$str_2";

Պայմանի տրամաբանական օպերատորներ IF

   <?php 
      if(Պայման)
          {

Գործողություն

          }
    ?>

IF ELSE <?php if(Պայման) { Գործողություն } else/Այլապես { Գործողություն } ?>

If ELSEIF

<?php if(Պայման) { Գործողություն } elseif(Այլ Պայման) { Գործողություն }

elseif(Այլ Պայման) { Գործողություն } else/Այլապես (Մնացած բոլոր դեպքերում) {

		Գործողություն

} ?> ?: տերնար օպերատորը Տերնար օպերատորը «?:» պայմանի օպերատոր է: Այն ճշտում է առաջին արտահայտությունը և եթե այն ճիշտ է ապա նրան վերագրում է արժեքը եթե ոչ վերադարձնում է արժեքը

<?php

 $a = true;
 $b = false;
 $c = 11;
 $d = 10;
 $f = $a ? $c : $d; // $f վերագրում է  $c փոփոխականի արժեքը, քանի-որ  $a=true
 $g = $b ? $c : $d; // $g վերագրում է  $d, քանի որ $b=false:
 $h = (!empty($n)) ? $n : $c+$d; // Սկզբում կստուգի $n փոփոխականի գոյությունը, քանի որ այն գոյություն չունի  $h կվերագրի $c+$d, այսինքն 21

SWITCH <?php $i=5;

   switch ($i) {

     case 0:          echo "i = 0";          break;      case 1:          echo "i = 1";          break;      case 2:          echo "i = 2";          break; default: echo "))))))";

                 }

?>


Հանձնարարություններ - խնդիր 1: 1. հայտարարել $a և $b փոփոխականներ, վերագրել թվեր 2. if պայմանով ստուգել թե, որ թիվն է մեծ, և արտապատկերել էկրանին $a մեծ է $b-ից կամ հակառակը ($a = 5; $b = 1; if ($a>$b) {echo "a մեծ է b";} else {echo "a փոքր կամ հավասար է b";}) նույնը գրել տեռնար օպերատորով

 $c = 11;  $d = 10; echo   $c<$d ? 'a<b' : 'a<=b';

նույնը SWITCH-ով



Ցիկլներ

For

<html> <body>

<?php $a = 0; $b = 0;

for($i=0; $i<5; $i++) {

   $a += 10;
   $b += 5;

} echo ("a=$a and b=$b" );// a=50 and b=25 ?>

</body> </html>

While <html> <body>

<?php $i = 0; $num = 50;

while( $i < 10) {

  $num--;
  $i++;

} echo ("i = $i and num = $num" );// i = 10 and num = 40 ?>

</body> </html>

Do.. while

<html> <body> <?php $i = 20; $num = 0; do { $num++; $i++; } while( $i < 10 ); echo "i = $i & num=$num";//i=21 num=1 ?> </body> </html>

Foreach

<html> <body> <?php $array = array( 1, 2, 3, 4, 5); foreach( $array as $value ) {

 echo "Value is $value 
";

} ?> </body> </html>


Breack <html> <body>

<?php $i = 0;

while( $i < 10) {

  $i++;
  if( $i == 3 )break;

} echo ("Loop stopped at i = $i" );// Loop stopped at i = 3 ?> </body> </html> Continiue <html> <body> <?php $array = array( 1, 2, 3, 4, 5); foreach( $array as $value ) {

 if( $value == 3 )continue;
 echo "Value is $value 
";//Value is 1 Value is 2 Value is 4 Value is 5 

} ?> </body> </html> Խնդիր1. For ցիկլի միջոցով արտապատկերել 0-ից 10 թվերը <?php for ($i=0; $i <= 10; $i++)  {    echo "The number is ".$i."
"; } ?>

Երբեմն անհրաժեշտություն է առաջանում FOR ցիկլում օգտագործել միանգամից 2 փոփոխական: Դա կարող ենք անել "," միջոցով:

Օրինակ For ցիկլի միջոցով ստանալ 0-10 1-9 2-8 3-7 4-6 Լուծում $sRes=""; for($i=0,$j=10;$i!=$j;$i++,$j--) {

 		 $sRes.="$i"."-"."$j"."
";

} echo $sRes; Խնդիր:

For ցիկլի միջոցով ստանալ 1-ից 10 թվերի 1. զույգ թվերի գումարը 2. բոլոր թվերի գումարը Լուծում` $total = 0; $even = 0;

for ( $x = 1, $y = 1; $x <= 10; $x++, $y++ ) {

 if ( ( $y % 2 ) == 0 ) {
   $even = $even + $y;
 }
 $total = $total + $x;

}

echo "The total sum: ".$total."
"; echo "The sum of even values: ".$even; Խնդիր Ստանալ բազմապատկման աղյուսակը հետևյալ տեսքով 1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 5 10 15 20 25 30 35 40 45 6 12 18 24 30 36 42 48 54 7 14 21 28 35 42 49 56 63 8 16 24 32 40 48 56 64 72 9 18 27 36 45 54 63 72 81 Լուծում

<?PHP for($i=1;$i<=9;$i++) {echo ""; for($j=1;$j<=9;$j++) { echo ""; } echo ""; } ?>
";
 	    echo($i*$j." ");
echo "

Խնդիր Հաշվել 1-ից 10 տվերի գումարը While ցիկլի միջոցով $i=1; $iSum=0; while($i<=5) { $iSum+=$i; $i++; } echo $iSum;

Զանգվածներ Ինչպես գիտենք, փոփոխականները հիշողության բջիջ է, որում պահվում է տվյալը /արժեքը/, իսկ զանգվածը բաղկացած է մի քանի այդպիսի բջիջներից: Զանգվածներում ամեն մի բջիջ ունի իր ունիկալ ինդեքսը` [0], [1]..... array() կոնստրոկցիայի միջոցով կարելի է ստեղծել զանգված։ <?php $anun = array('Gurgen','Simon', 'Mariam', 'Gevorg'); print_r($anun); // Array ( [0] => Gurgen [1] => Simon [2] => Mariam [3] => Gevorg ) ?>

Ավելի ընթերնելի տեսք տալու համար մեր նորաստեղծ զանգվածը տեղադրենք < pre>... < /pre> HTML տեգերի մեջ։

<?php $anun = array('Gurgen','Simon', 'Mariam', 'Gevorg');

echo '

';
	print_r($anun);
	echo '

';

Ստանում ենք`

Array (

   [0] => Gurgen
   [1] => Simon
   [2] => Mariam
   [3] => Gevorg

) ?> Մեր զանգվածը ունի չորս էլեմենտ, որոնք կազմված են բանալիներից և նշանակություններից։ Բանալիներին քանի-որ մենք արժեքներ չէինք տվել, նրանք դրվել են ավտոմատ կերպով սկսած 0-ից։  ECHO-ի կամ PRINT-ի օգնությամբ կարելի էկրանին արտածել զանգվածի էլեմէնտը։ echo $anun[3]; print ($anun[2]); <?php $qaxaq = array('Երևան', 'Ախթալա', 'Արմավիր', 'Մուշ');

echo "

";
var_dump($qaxaq);
echo "

";

Կստացվի array(4) { [0]=> string(10) "Երևան"

		 [1]=>

string(12) "Ախթալա" [2]=> string(14) "Արմավիր" [3]=>

		 string(8) "Մուշ"

} ?>

Եթե ցանկանում ենք տալ ինդեքս , կգրենք` <?php $age=array(5=>"Peter",7=>"Ben",2=>"Joe"); echo $age['5']; //Peter

    ?>

Հ.Գ. var_dump()-ը արտապատկերում է զանգվածը իր փոփոխականների տեսակի մասին տեղեկատվությամբ: print_r()-ը արտապատկերում է զանգվածը:

count($array)-վերադարձնում է զանգվածի էլեմենտների քանակը:


Ասոցիատիվ զանգվածներ

Ասոցիատիվ զանգվածները ինդեքսայինից տարբերվում են նրանով, որ զանգվածի էլեմենտների ինդեքսները ոչ թե թվեր են այլ կամայական տեքստ: Ասոցիատիվ զանգվածների ինդեքսները կոչվում են բանալիներ (key): 1. Ասոցիատիվ զանգվածներում key-ը պարտադիր պետք է նշվի: Ինդեքսայինում` կարող էինք նաև չնշել key---այդ ժամանակ այն վերցնում էր 0, 1, 2.... 2. Key-ը պետք է պարտադիր նշված լինի " " մեջ: 3. key-ի մեծատառ և փոքրատար լինելը էական դեր է խաղում:

   <?php

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

echo "

";
	print_r($age);
	echo "<pre>";

	echo "Peter is " . $age['Peter'] . " years old.";
	echo "Ben is " . $age['Ben'] . " years old.";
     ?>

Կպատկերվի ` 
Array
(
    [Peter] => 35
    [Ben] => 37
    [Joe] => 43
)
Peter is 35 years old.Ben is 37 years old.

Բազմաչա զանգվածներ`
Բազմաչափ զանգվածը դա նւըն զանգվածն է, որի էլեմենտները զանգվածներ են.
Օրինակ
$movies = array(
  array(
    "title" => "Rear Window",
    "director" => "Alfred Hitchcock",
    "year" => 1954
  ),
  array(
    "title" => "Full Metal Jacket",
    "director" => "Stanley Kubrick",
    "year" => 1987
  ),
 		 array(
    "title" => "Mean Streets",
  	  "director" => "Martin Scorsese",
    	"year" => 1973
 		 )
);
echo "<pre>";
var_dump ($movies);
echo "

";

foreach ( $movies as $movie ) {

  foreach ( $movie as $key => $value ) {
   echo "$key => $value 
"; } }

Կպատկերվի`

array(3) {

 [0]=>
 array(3) {
   ["title"]=>
   string(11) "Rear Window"
   ["director"]=>
   string(16) "Alfred Hitchcock"
   ["year"]=>
   int(1954)
 }
 [1]=>
 array(3) {
   ["title"]=>
   string(17) "Full Metal Jacket"
   ["director"]=>
   string(15) "Stanley Kubrick"
   ["year"]=>
   int(1987)
 }
 [2]=>
 array(3) {
   ["title"]=>
   string(12) "Mean Streets"
   ["director"]=>
   string(15) "Martin Scorsese"
   ["year"]=>
   int(1973)
 }

}

title => Rear Window  director => Alfred Hitchcock  year => 1954  title => Full Metal Jacket  director => Stanley Kubrick  year => 1987  title => Mean Streets  director => Martin Scorsese  year => 1973 

For ցիկլի օգտագործումը բազմաչափ զանգվածում /երբ զանգվածները ասոցիատիվ չեն/ <?php

$movies = array( array(

 	  "0" => "Rear Window",
 	  "1" => "Alfred Hitchcock",
  	 "2" => 1954

), array(

   	"0" => "Full Metal Jacket",
  	 "1" => "Stanley Kubrick",
 	  "2" => 1987

), array(

   	"0" => "Mean Streets",
  	 "1" => "Martin Scorsese",
   	"2" => 1973

) );


Զանգվածի էլեմենտների ջնջուման, կամ փոփոխուման կատարումը key-ի միջոցով` օրինակ

<?php $arr = array(5 => 1, 12 => 2);

$arr[] = 56; // նունյնն է, ինչ $arr[13] = 56; ամենամեծ ինդեքսի +1 $arr[5] = 56; // 5 ինդեքս ունեցող էլեմենտին վեագրվում է 56;

$arr["x"] = 42; // ավելանում է էլեմենտ x key-ով

//unset($arr[12]); // կջնջի 12 key-ով էլեմենտը print_r($arr) /արտապատկերելու է զանգվածը

//unset($arr); // ամբողջ զանգվածը կջնջվի ?>

Զանգվածի սորտավորումը կատարվում է sort() ֆունկցիայի միջոցով: օրինակ` <?php $fruits = array("lemon", "orange", "banana", "apple"); sort($fruits); print_r ($fruits);

?> կարտապատկերվի Array ( [0] => apple [1] => banana [2] => lemon [3] => orange )

asort()-սորտավորումը կատարվում է պահպանելով key-երը: $arr=array(-10,20,50,-30); asort($arr); print_r($arr);// Array ( [3] => -30 [0] => -10 [1] => 20 [2] => 50 )

array_slice(aeeay, offset, lengt) - կվերադարձնի զանգվածի էլեմենտների հաջորդականությումնը  offset  և length պարամետրերից կախված

օրինակ <?php $input = array("a", "b", "c", "d", "e");

$output = array_slice($input, 2); // կվրադարձնի "c", "d", and "e" $output = array_slice($input, -2, 1); // կվրադարձնի "d" $output = array_slice($input, 0, 3); // կվրադարձնի "a", "b", and "c"

print_r(array_slice($input, 2, 2));//key-ը 0-ից սկսված print_r(array_slice($input, 2, 2, true));//իրական key-ով ?>

կարտապատկերվի

Array ( [0] => c [1] => d )
Array ( [2] => c [3] => d )

օրինակ

   $arr1 = array(10,50,20,10,30,20,100);
   print_r(array_slice($arr1, 1,2));// Array ( [0] => 50 [1] => 20 )
   print_r(array_slice($arr1, 1))// Array ( [0] => 50 [1] => 20 [2] => 10 [3] => 30 [4] => 20 [5] => 100 )

array_diff() - վերադարձնում է երկու զանգվածների տարբերությունը օրինակ <?php $array1 = array ("a" => "green", "red", "blue", "red"); $array2 = array ("b" => "green", "yellow", "red"); $result = array_diff ($array1, $array2);//փնտրում է array1-ի մեջ այն էլեմենտները, որոնք array2-ի մեջ չկան print_r ($result); ?> կարտապատկերվի blue;

array_sum - հաշվում է զանգվածի էլեմենտների գումարը

օրինակ <?php $a = array(2, 4, 6, 8); echo "sum(a) = " . array_sum($a);

$b = array("a" => 1.2, "b" => 2.3, "c" => 3.4); echo "sum(b) = " . array_sum($b); ?>

կարտապատկերվի sum(a) = 20 sum(b) = 6.9

extract() - արտահանում է զանգվածի արժեքները /Ասոցիատիվ զանգվածներում/

Օրինակ 1: <?php

$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse"); extract($my_array); echo "$1 = $a; \$2 = $b; \$3 = $c"; //$1, $2,$3-ի փոխարեն կարող է լինել կամայական սիմվոլ;

?> կարտապատկերվի ` $1 = Cat; $2 = Dog; $3 = Horse Օրինակ 2:

$var_array = array("color" => "blue",

               		 "size"  => "medium",
                 		 "shape" => "sphere");

extract($var_array);

echo "$color, $size, $shape"; կարտապատկերվի ` blue, medium, sphere

explode() - վերափոխում է տողը զանգվածի` բաժանելով այն նշված սիմվոլով օրինակ

<?php

   $pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
   $pieces = explode(" ", $pizza); 
   echo $pieces[0]; // piece1
   echo $pieces[1]; // piece2
   print_r ($pieces);// Array ( [0] => piece1 [1] => piece2 [2] => piece3 [3] => piece4 [4] => piece5 [5] => piece6 )

?>

implode – միավորում է զանգվածի էլեմենտները տեղի տեսքով: <?php

   $arr = array(‘Hello’,’world’);
   $str = Implode(‘ ’,$arr);

echo($str); //Hello world ?> array_unicue()-վերադարձնում է զանգվածը, առանց կրկնվող սիմվոլների, պահպանում է միայն առաջինը:

$my_array = array(10,50,20,10,30,20,100); print_r($my_array); echo "
"; print_r(array_unique($my_array));// Array ( [0] => 10 [1] => 50 [2] => 20 [4] => 30 [6] => 100 ) $my_array = array("a" => "Cat","b" => "Dog", "k" => "Dog", "c" => "Horse" ); print_r(array_unique($my_array));// Array ( [a] => Cat [b] => Dog [c] => Horse )

array_marge()-միավորում է 2 զանգվածները: $arr1 = array(10,50,20,10,30,20,100);

 	 $arr2 = array('dog','cat', 'hat');

print_r(array_merge($arr1, $arr2)); // Array ( [0] => 10 [1] => 50 [2] => 20 [3] => 10 [4] => 30 [5] => 20 [6] => 100 [7] => dog [8] => cat [9] => hat )


Ժամանակի հետ աշխատող ֆունկցիաներ

time()-վերադարձնում է 01.01.1970 օրվանից անցած վարկյանների քանակը: date("Y-m-d H:i:s", time()) -եթե time() նշված չի, վերադարձնում է տվյալ պահի տվյալները / օր. 2014-05-30 21:45:50/: date_parse ("Y-m-d H:i:s")- ճշտում է տրված ամսաթիվը և ժամը, եթե սխալ է լրացվաց վերադարձնում է սխալը: օր. <?php

echo "

";
print_r(date_parse("2013-13-01 24:30:60"));
echo "
";
?>

Էկրանին արտապատկերվում է ասոցիատիվ զանգված հետևյալ տեսքով՝

	Array
(
    [year] => 2013
    [month] => 1
    [day] => 1
    [hour] => 24
    [minute] => 30
    [second] => 60
    [fraction] => 0
    [warning_count] => 1
    [warnings] => Array
        (
            [20] => The parsed time was invalid
        )

    [error_count] => 1
    [errors] => Array
        (
            [6] => Unexpected character
        )

    [is_localtime] => 1
    [zone_type] => 1
    [zone] => 60
    [is_dst] => 
)

checkdate(int $month, int $day, int $year ) – վերադարձնում է true  կամ  false: 
ամսաթիվը համարվում է ճիշտ գրված, եթե $year գրված է  [1, 32767] , $ month  գրված  է  [1,12], $day – գրված է տվյալ ամսվա համար նախատեսված օրերի քանակին (հաշվի է առնում նաև նահանջ տարին)
echo date_default_timezone_get();-կարտապատկերվի համակարգչի timezone-ը:
date_default_timezone_set('asia/calcuta'); 
mktime(ժամ, րոպե, վարկյան, ամիս, օր, տարի)
$time=mktime(23,59,59,2,5,2012)-կվերադարձնի 1970-01-01-ից մինչև 05.02.2012թ. անցած վարկյանների քանակը
echo date("Y-m-d H:i:s" , 995599955)- կվերադարձնի թե 1970-01-01-ից 995599955 վարկյան անցած ժամանակի ամիս ամսաթիվը ժամով օր. - 1973-02-26 08:32:35 
օրինակի համար տեսնենք թե ինչ օր է հոկտեմբերի 20ը 2014թ.
$time=mktime(0,0,0,10,20,2014);
print_r (getdate($time)); //Array ( [seconds] => 0 [minutes] => 0 [hours] => 0 [mday] => 20 [wday] => 1 [mon] => 10 [year] => 2014 [yday] => 292 [weekday] => Monday [month] => October [0] => 1413756000 )

Ֆունկցիաներ

Սինտեքսիս

function functionName() {
  code to be executed;
}
Օրինակ

<?php
		function writeMsg() {
		echo "Hello world!";
			}
		writeMsg(); // Hello world!
?>

Ֆունկցիային պարամետրի փոխանցում 
	<?php
		function familyName($fname) {
			  echo "$fname Refsnes.
"; } familyName("Jani"); familyName("Hege"); familyName("Stale"); familyName("Kai Jim"); familyName("Borge"); ?> կարտապատկերվի Jani Refsnes. Hege Refsnes. Stale Refsnes. Kai Jim Refsnes. Borge Refsnes. <?php function familyName($fname,$year) { echo "$fname Refsnes. Born in $year
"; } familyName("Hege","1975"); familyName("Stale","1978"); familyName("Kai Jim","1983"); ?> կարտապատկերվի Hege Refsnes. Born in 1975  Stale Refsnes. Born in 1978  Kai Jim Refsnes. Born in 1983  <?php function setHeight($minheight=50) {   echo "The height is : $minheight
"; } setHeight(350); setHeight(); // will use the default value of 50 setHeight(135); setHeight(80); ?> Կարտապատկերվի The height is : 350  The height is : 50  The height is : 135  The height is : 80 <?php function sum($x,$y) {   $z=$x+$y;   return $z; } echo "5 + 10 = " . sum(5,10) . "
"; echo "7 + 13 = " . sum(7,13) . "
"; echo "2 + 4 = " . sum(2,4); ?> կարտապատկերվի 5 + 10 = 15 7 + 13 = 20 2 + 4 = 6 Խնդիր: Function, for ցիկլի ինչպես նաև if պայմանի օպերատորի միջոցով էկրանին արտապատկերել "Hello World" արտահայտությունը 50 հատ: Այն ֆունկցիան, որը կանչվում է ինքն իր մեջ կոչվում է ռեկուրսիվ ֆունկցիա: Ռեկուրսիվ ֆունկցիայի օրինակ 1-ից $x թվերի գումարը function func($x) { if ($x==1) return 1; else return $x+func($x-1); } echo func(6); Խնդիր: հաշվել թվի ֆակտորիալը Անանիմ ֆունկցիաներ. Այն ֆունկցիաները, որոնք չունեն կոնկրետ անուն, կոչվում են անանիմ: <?php $greet = function($name) { echo "Hello ".$name."
"; }; $greet('World'); $greet('PHP'); ?> Փոփոխականների տեսանելիության տարածք Փոփոխականները լինում են 3 տեսակի` 1. Global 2. Local 3. Static 1. Այն փոփոխականները, որոնք հայտարարվում է անմիջապես <?PHP ?> տեգերի մեջ կոչվում են գլոբալ: նրանք հասանելի են գրեթե ամենուր: 2. Ֆունկցիաների մեջ հայտարարված փոփոխականները համարվում են լոցալ փոփոխականներ: Ֆունկցիայի մեջ նախորոք հայտարարված փոփոխականը տեսնելու համար օգտագործում են $GLOBALS['փոփոխականի անունը'] զանգվածը կամ ընդամենը ֆունցիայի մեջ գրում ենք gobal $փոփոխականը: 3. Ստատիկ փոփոխականները պատկանում են ֆունցիաներին: Պատկերացնելու համար գրենք օրինակ. function test(){ static $x=3; $x++; echo $x; } test();// քանի անգամ ֆունկցիան կանչենք, այդքան անգամ $x-ը կփոփոխվի, ամեն ագամ ավելանալով 1-ով: Խնդիր: Ստեղծել ֆունկցիա gettable(), նրան տալ 3 պարամետր $col, $row, $color, այնպես, որ ֆունկցիան կանչելով փոխանցվող պարամետրտերի արժեքներից կախված պատկերվի բազմապատկամ աղյոսակը՝ անկյունագծով ներկված նշված գույնով: Վերջում արտապարկերվի թե ֆունկցիան որերորդ անգամն է կանչվում: Լուծում: <?php function gettable($coll=10, $row=10, $color='red'){ static $k=1; echo ""; for($i=1;$i<$coll;$i++){ echo ""; for($j=1;$j<$row;$j++){ if($i==$j) { echo "";} else {echo "";} } echo ""; } echo "
".$i*$j."".$i*$j."
"; echo $k++; } gettable(); gettable(5,5,'green'); gettable(8,8,'yellow'); gettable(3,5,'blue'); ?> Ֆայլերի միացում require " "; require_once " "; միացնում է մինչև սկրիպտի օգտագործումը: Եթե ֆայլը չի գտնում աշխատանքը դադարեցվում է: include " "; include_once ""; միացնում է սկրիպտի օգտագործումը ընթացքում: Եթե ֆայլը չի գտնում աշխատանքը շարունակվում է: օր. for($i=0;$i<2;$i++){ include ("inc1.php"); $var_1=$var+$i; echo "Popoxakan - ".$var_1."
"; $var++; } inc.php <?PHP $var=1;?> Աշխատանք ֆայլերի հետ fopen(“filename”,“իրավունքները”) r – ֆայլը բացում է միայն կարդալու համար r+ - ֆայլը բացվում է և կարդալու և գրելու համար w – բացում է ֆայլը միայն գրելու համար, կուրսորը սկզբում է դնում (պարունակությունը ջնջում է) w+ - ֆայլը բացվում է և կարդալու և գրելու համար, եթե ֆայլը գոյություն չունի ստեղծվում է, եթե գոյություն ունի՝ պարունակությունը ջնջում է a - բացում է ֆայլը միայն գրելու համար, կուրսորը վերջում է դնում a+ ֆայլը բացվում է և կարդալու և գրելու համար, եթե ֆայլը գոյություն չունի ստեղծվում է $file= fopen(“filename.txt”,“r+”) filesize(filename.txt) – վերադարձնում է տեքստում առկա սիմվոլների քանակը fseek($file, int) – տեղափոխում է կուրսորը նշված սիմվոլների քանակով fwrite($file,$text) - գրում է $text-ը ֆայլի մեջ: Եթե տեքստի ե հանդւպւմ ապա ջնջում է վրան գրում fread($file,$int) – կարդում է ֆայլը նշված սիմվոլների քանակով Սուպերգլոբալ զանգվածներ Սուպերգլոբալ զանգվածներ (անգլ.՝ Superglobal arrays) են անվանում PHP-ում նախորոշված զանգվածները, որոնք ունեն տեսանելության գլոբալ մակարդակ՝ առանց global  դիրեկտիվի կիրառման։ Դրանց մեծամասնությունը իրենց մեջ պարունակում են օգտագործողի հարցման մուտքային տվյալները (GET  հարցման պարամետրերը, POST մեթոդով ուղարկված ֆորմայի դաշտերի արժեքները, քուքիները և այլն)։ $_GET  Պարունակում է GET-հարցման պարամետրերը, որոնք փոխանցվում են URI հասցեի միջոցով՝ «?» նշանից հետո գրելով դրանց հարժեքները։ $_POST  HTML ֆորման POST մեթոդով ուղարկելուց դրա դաշտերի արժեքների ասոցիատիվ զանգվածը։ Տարրերի ինդեքսները համապատախանում են HTML ֆորմայի դաշտերի name ատրիբուտին։ Ստեղծում ենք file- test.php անունով: Մեջը գրում ենք <html> <body> <form action="welcome.php" method="post"> Name: <input type="text" name="name">
E-mail: <input type="text" name="email">
<input type="submit"> </form> </body> </html> Ստեղծում ենք file welcome.php մեջը գրում ենք <html> <body> Welcome <?php echo $_POST["name"]; ?>
Your email address is: <?php echo $_POST["email"]; ?> </body> </html> $_COOKIE  Օգտագործողի բրաուզերի կողմից ուղարկված քուքիների ասոցիացվող զանգվածը։ <?php setcookie("user", "Alex Porter", time()+3600); echo $_COOKIE["user"]; ?> <?php setcookie("user", "Alex Porter", time()+3600);// cookie ջնջելու համար գրում ենք -3600 if (isset($_COOKIE["user"])) echo "Welcome " . $_COOKIE["user"] . "!
"; else echo "Welcome guest!
"; ?> $_REQUEST Պարունակում է $_GET, $_POST և $_COOKIE զանգվածների տարրերը միասին վերցրած, զանգվածի տարրերը։ $_SESSION  Պարունակում է սեսիայի տվյալները։ xampp-tmp ստեղծվում է ժամանակավոր ֆայլ սեսիայի տվյալներով: Սեսիան ջնջելուց այն ջնջվում է: <?php session_start(); if(isset($_SESSION['views'])) $_SESSION['views']=$_SESSION['views']+1; else $_SESSION['views']=1; echo "Views=". $_SESSION['views']; ?> unset($_SESSION['views']); <<< ջնջում է սեսիան Բազա  ԻՆՉ Է MYSQL -Ը (համառոտ) Սա ինքնատիպ տվյալների բազայի սերվեր է: Այն ունի իր ծրագրային լեզվի սինտաքսիսը, առանձնահատկությունները: Սովորաբար MySQL-ը առանձին չի օգտագործվում, այն լայնորեն կիրառվում է web ծրագրավորման բնագավառում տվյալների հուսալի բազա ստեղծելու և դրանից օգտվելու համար: Բազմաթիվ սերվերային ծրագրերի հետ համատեղելի է, բայց շատերը համարում են, որ MySQL-ը ստեղծված է PHP-ի համար: MyQSL-ի հիմնական առավելություններն են նրա աշխատանքային արագությունը, բազմահոսքությունը, ինտերակտիվ կառավարման ճկունությունը, անվտանգությունը: Այն տալիս է հնարավորություն կազմել մեծածավալ աղյուսակներ հիերարխիկ բնույթի, տվյալները խմբավորել ըստ զանազան գործոնների, հաստատել կապ տարբեր տվյալների միջև, աշխատել տվյալնեի տարբեր տիպերի հետ (թվային, տեքստային, բինարային, ամսաթվային և այլն): SQL-ը դա լեզու է տվյալների բազայի կառավարման համար, իսկ MySQL-ը դա տվյալների բազայի կառավարման համակարգ է: MySQL-ի ճիշտ տեղադրման մասին կարող ենք իմանալ փոքրածավալ մի սկրիպտ կազմելով, ուր պետք է պարտադիր կիրառվի mysql_connect հրամանը` <!DOCTYPE HTML> <html> <head><meta charset="utf-8"> <title>MySQL</title></head><body> <?php $miacum = mysql_connect ("localhost", "root", "")//  ("localhost", "username", "password") or die ("ՄԻԱՑՈՒՄԸ MYSQL-ԻՆ ՁԱԽՈՂՎԱԾ Է"); print ("ՄԻԱՑՈՒՄԸ ՀԱՋՈՂՎԱԾ Է"); mysql_close ($miacum); </body></html> Ձեր սերվերի MySQL-ի user-ի և passwor-ի տվյալները կարող եք գտնել սերվերային ծրագրի passwords.txt : 1. localhost/phpmyadmin >>> ստեղծում ենք Databases>> այնտեղ ստեղծում ենք table 1. INSERT INTO `table_name`(`ID`, ` dasht1`) VALUES ([value-1],[value-2]) <form action="" method="post"> Name: <input type="text" name="name"> Password: <input type="text" name="pass"> Comfirm password: <input type="text" name="pass2"> email: <input type="text" name="email">

<input type="submit" value="Registraciya"> </form> <?php mysql_connect("localhost","root","") << Միանում է բազային or die ("error".mysql_error());//<<վերադարձնում եմ error mysql_select_db("databeses_name"); if(isset($_POST['name'])){ $n=htmlentities($_POST['name']); $p=md5(htmlentities($_POST['pass'])); if (strlen($n)>4 && strlen($p)>6 && $p==$p1 && stristr($e,'@')) { mysql_query("INSERT INTO table_name (name, pass, email) VALUES ('$n','$p','$e')"); } else echo "Error";} ?> 2. UPDATE ` table_name ` SET `ID`=[value-1],`Name`=[value-2],`pass`=[value-3],`email`=[value-4] WHERE 1 <?php mysql_connect("localhost","root","") or die ("error".mysql_error()); mysql_select_db("tatevik"); mysql_query("update user set name='Kar' where phone='1234564'"); $res=mysql_query("select*from user"); while($users=mysql_fetch_array($res)){ echo "
"; var_dump ($users); } ?> 3. DELETE FROM `table_name` WHERE Id=1 4. SELECT * FROM table_name order by name ASS/DESS (աճելով/նվազելով) 5. SELECT * FROM table_name WHERE ‘coll_name’ LIKE '%some_text%' * %some_text% - պարունակում է some_text * some_text% - սկսվում է some_text-ով * %some_text- ավարտվում է some_text-ով 6. $result = mysql_query(“SELECT * FROM table_name”) ⦁ mysql_result($result, 2 , ’id’) – կվերադարձնի 3 տողի գրված id-ն mysql_fetch_array(⦁ $result⦁ ) – վերադարձնում է արդյունքը ինդեքսային, ասոցիատիվ զանգվածների տեսքով mysql_fetch_assoc(⦁ $result⦁ ) - վերադարձնում է արդյունքը ասոցիատիվ զանգվածի տեսքով mysql_⦁ num⦁ _⦁ row⦁ ($result) – վերադարձնում է տողերի քանակը mysql_⦁ num⦁ _⦁ fields⦁ ($result)  - վերադարձնում է սյուների քանակը � Աղյուսակների միավորում (INNER JOIN, LEFT JOIN, RIGHT JOIN) mysql> SELECT * FROM nomenclature; +----+-----------+ | id | name | +----+-----------+ | 1 | Книга | | 2 | Табуретка | | 3 | Карандаш | +----+-----------+ mysql> SELECT * FROM description; +----+---------------------+ | id | description | +----+---------------------+ | 1 | Замечательная книга | | 3 | Красный карандаш | | 5 | Зелёная машинка | +----+---------------------+ ⦁ INNER JOIN (CROSS JOIN) - внутреннее (перекрёстное) объединение mysql> SELECT * FROM nomenclature INNER JOIN description; +----+-----------+----+---------------------+ | id | name | id | description | +----+-----------+----+---------------------+ | 1 | Книга | 1 | Замечательная книга | | 2 | Табуретка | 1 | Замечательная книга | | 3 | Карандаш | 1 | Замечательная книга | | 1 | Книга | 3 | Красный карандаш | | 2 | Табуретка | 3 | Красный карандаш | | 3 | Карандаш | 3 | Красный карандаш | | 1 | Книга | 5 | Зелёная машинка | | 2 | Табуретка | 5 | Зелёная машинка | | 3 | Карандаш | 5 | Зелёная машинка | +----+-----------+----+---------------------+ INNER JOIN  - առանց որևէ պայման գրելու nomenclature աղյուսակի պարունակությունը կկրկնի այնքան անգամ քանի տող կա description աղյուսակում INNER JOIN օգտագործվում է միավորելու համար երկու աղյուսակները նշված սյունակով mysql> SELECT * FROM nomenclature INNER JOIN description using(id); +----+----------+---------------------+ | id | name | description | +----+----------+---------------------+ | 1 | Книга | Замечательная книга | | 3 | Карандаш | Красный карандаш | +----+----------+---------------------+ Ստորև նշված հրամանները կվերադարձնեն նույն արդյունքը ⦁ SELECT * FROM nomenclature INNER JOIN description; ⦁ SELECT * FROM nomenclature CROSS JOIN description; ⦁ SELECT * FROM nomenclature JOIN description; ⦁ SELECT * FROM nomenclature, description; Եթե աղյուսակների բաժանումը կատարվում է ստորակետի միջոցով, ապա ON և USING օգտագործել չենք կարող: Այդ ժամանակ կօգտագործվի միայն where կոնստրուկցիան. mysql> SELECT * FROM nomenclature, description WHERE nomenclature.id = description.id; +----+----------+----+---------------------+ | id | name | id | description | +----+----------+----+---------------------+ | 1 | Книга | 1 | Замечательная книга | | 3 | Карандаш | 3 | Красный карандаш | +----+----------+----+---------------------+ LEFT JOIN – ձախակողմիան ներքին միավորում mysql> SELECT * FROM nomenclature LEFT JOIN description USING(id); +----+-----------+---------------------+ | id | name | description | +----+-----------+---------------------+ | 1 | Книга | Замечательная книга | | 2 | Табуретка | NULL | | 3 | Карандаш | Красный карандаш | +----+-----------+---------------------+ 2 id-ի դիմաց բնութագիր դաշտում գրվում է, քանի որ բնութագիր աղյուսակում բացակայում է 2 id անվան համար բնութագիրը: Եթե ցանկանանք առանձնացնել այն տողերը, որոնք չունեն բնութագիր կավելացնենք WHERE պայմանը. օրինակ mysql> SELECT id, name FROM nomenclature LEFT JOIN description USING(id) WHERE description IS NULL; +----+-----------+ | id | name | +----+-----------+ | 2 | Табуретка | +----+-----------+ RIGHT JOIN – աջակղմյան ներքին միավորում mysql> SELECT * FROM nomenclature RIGHT JOIN description USING(id); +----+---------------------+----------+ | id | description | name | +----+---------------------+----------+ | 1 | Замечательная книга | Книга | | 3 | Красный карандаш | Карандаш | | 5 | Зелёная машинка | NULL | +----+---------------------+----------+