PHP TheNewBoston 9-50 exercitii

exercitii-PHPtheNewBoston9-50

 

Functii PHP

 

-9- echo

 

1. Afisati un text folosind ghilimele

<?php

echo “hello”;

?>

 

2. sau apostroafe

 

<?php

echo ‘hello';

?>

 

3. Inserati elemente html

 

echo “<strong>hello</strong>”;

 

4. Afisati folosin echo un tabel cu 2 randuri si 2 coloane avand in fiecare celula cifrele de la 1 la 4.

 

 

-10-

 

print

 

  1. Folositi comanda print

 

<?php

print “test”;

?>

 

-11-

 

Inserati un element input in php

<?php

echo “<input type=”text” name=”name”> ” ;

?>

 

 

1. Inserati in php un element input folosind in extreme ghilimele iar in interior apostroafe

echo “<input type=’text’ name=’name’> ”

 

 

2. Inserati in php un element input folosind in extreme apostroafe iar in interior ghilimele

echo ‘<input type=”text” name=”name”> ‘

 

3. Afisati un sir de caractere in interiorul caruia sa existe si o variabila

 

<?php

$varsta=15;

echo ” Dan are $varsta ani. “;

?>

 

4. Inserati un element input folosind ghilimele si caractere escape ”

 

<?php

echo “<input type=”text” name=”name”>”

?>

 

 

 

– 12 – Inserarea de php in HTML

 

Inserati in interiorul unui element HTML o valoare prin intermediul instructiunii echo.

 

<?php

$text=”Introdu numele”;

?>

 

<input type=”text” name=”name”

value= “<?php echo $text ;  ?> ” >

 

– 13 – Comentariile

 

1. Inserati cateva linii de comantarii folosind dublu slash //

 

<?php

//se afiseaza Salutari in browser prin intermediul

// instructiunii echo

echo “Comentarea unei linii”;

?>

 

2. Comentati un bloc de text din interiorul unui script php

<?php

 

/*

se afiseaza Salutari in browser prin intermediul

instructiunii echo

 

Acest tip de comentarii e mai usor de realizat cand sunt mai multe linii de cod

*/

 

echo “Comentarea unui bloc” ;

?>

 

– 16 – Variabile

Creati variabile de tipurile intreg, float, sir de caractere si apoi le afisati

 

$nume= “Victor”;

$numar=2;

$pret=2.5;

echo “$nume a platit pentru $numar paini $pret lei”;

 

 

– 17 – Concatenarea sirurilor de caractere

 

1. Afisati urmatoarea data:

 

Astazi este Joi, 31 Martie 2011

 

<?php

$ziua = “Joi”;

$data = 31;

$luna = “Martie”;

$an = 2011;

?>

 

<?php

echo “Astazi este $ziua, $data $luna $an”;

?>

 

2. Folositi concatenarea:

 

<?php

echo ‘Astazi este ‘ . $ziua . ‘, ‘ . $data . ‘ ‘ . $luna . ‘ ‘ .  $an;

?>

 

3. Inserati cod HTML:

 

echo ‘Astazi este <strong>’ . $ziua . ‘, ‘ . $data . ‘ ‘ . $luna . ‘ ‘ .  $an . ‘<strong>’ ;

 

 

– 18 – Instructiunea IF

 

Avem o variabila $number care poate lua orice valori intregi

1.Se da un numar: 26; sa se afiseze “este egal cu 26″ daca o variabila $number este egala cu 26.

<?php

$number = 25;

if($number= = 26)

{

echo “numarul este egal cu 26″;

}

?>

 

2. Se da un numar: 26; sa se afiseze “este egal cu 26″ daca variabila $number este egala cu 26 si “nu este egal cu 26″ daca variabila $number nu este egala cu 26

 

<?php

$number=25;

if($number = = 26)

{

echo “este egal cu 26″;

}

else

{

echo “nu este egal cu 26″;

}

 

?>

 

 

3. Dandu-se 2 numere 26, 15 ; Sa se verifice daca o variabila $number  este egala cu unul dintre numere:

daca e egala cu 26 afiseaza: “este egal cu 26″

daca e egala cu 15 afiseaza: “este egal cu 15″

altfel afiseaza “nu este egal cu nici unul dintre cele doua numere 26 sau 15″

 

<?php

$number = 26; // am dat valoarea 26

if($number = = 26)

{

echo “este egal cu 26″;

}

elseif($number = = 15)

{

echo “este egal cu 15″;

}

else

{

echo “nu este egal cu nici unul dintre cele doua numere 26 sau 15″;

}

 

?>

 

– 20 – Operatori de atribuire

 

$number = 10;

 

1. Creati o variabil $result care sa contina rezultatul adunarii lui $number cu 2. Afisati rezultatul.

 

<?php

$result = $number + 2;

echo $result;

?>

 

2. Adunati variabila $number cu valoarea 2 si stocati rezultatul tot in $number. Afisati noua valoare

 

<?php

$number = $number + 2;

echo $number;

?>

 

3. Realizati acelasi lucru folosind operatorul +=

 

<?php

$number += 2;

echo $number;

?>

 

4. Scadeti din $number valoarea 2;

 

$number = $number – 2;

 

$number -= 2;

 

5. Inmultiti $number cu 2

$number = $number * 2;

 

$number *= 2;

 

6. Impartiti $number la 2

$number = $number / 2;

 

$number /=2;

 

Aflati restul impartirii lui $number la 3 si stocati-l in $rest

 

<?php

$rest = $number % 3;

echo $rest;

?>

 

7. Folosind operatorul de concatenare .= adaugati la variabila $text=’hello’ textul ‘ world';

<?php

$text = ‘hello';

$text .= ‘ world';

echo $text;

?>

 

– 21 – operatorii de comparare

 

Comparati doua variabile intre ele.

 

1. Daca $number1 mai mare decat $number2 se afiseaza ‘Yes’ altfel se afiseaza ‘No’

<?php

$number1 = 10;

$number2 = 9;

?>

 

 

<?php

if($number1 > $number2)

{

echo ‘Yes.';

}

else

{

echo ‘No.';

}

?>

 

 

2. Verificati daca $number1 < $number2

 

$number1 = 10

$number2 = 10

 

3. Verificati daca $number1 >=  $number2

 

4. Verificati daca $number1 <=  $number2

 

5. Verificati daca $number1 != $number2

 

6. Verificati situati $number = = $number2

 

7. Sa se verifice daca o variabila $password este egala cu valoarea text ‘parolaMea’ – simularea unei logari

 

<?php

$password = ‘parolaMea';

if($password = = ‘parolaMea’)

{

echo ‘Corect';

}

else

{

echo ‘Incorect';

}

 

 

– 22 – Operatorii matematici

 

 

1.

a. Sa se adune 10 cu 20 si sa se afiseze rezultatul

$sum = 10 + 20;

echo $sum;

 

b. Scaderea 10 – 20

$sub = 10 – 20;

echo $sub;

 

c. Inmultirea 10 * 20

$mult= 10 * 20;

echo $mult;

 

d. Impartirea  10/20

$div = 10 / 20

echo $div;

 

 

 

2. Sa se realizeze expresia ($number1 + $number2) / $number3 si sa se afiseze rezultatul

 

<?php

$number1 = 100;

$number2 = 50;

$number3= 2;

 

$result = ($number1 + $number2) / $number3;

echo $result;

?>

 

3. Sa se gaseasca restul impartirii lui 10 la 3

 

<?php

 

$number1 = 10;

$number2 = 3;

 

$result = $number1 % $number2;

echo $result;

?>

 

4. incrementati si decrementati variabila $number1 si afisati rezultatul pentru ambele cazuri

 

<?php

$number1 = 10;

$number1++;

echo $number1;

 

$number1–;

echo $number1;

?>

 

– 23 – Operatorii logici

 

1. Sa se verifice daca $number se afla in intervalul dat de $lower si $upper

 

<?php

$number=654;

 

$upper = 1000;

$lower = 500;

?>

 

<?php

if($number > $lower && $number < $upper)

{

echo ‘Ok, $number se incadreaza in interval';

}

 

?>

 

2. Sa se afiseze si un mesaj pentru cazul in care $number nu se afla in interval

<?php

if($number > $lower && $number < $upper)

{

echo ‘Ok, $number se incadreaza in interval';

}

else

{

echo ‘Numarul trebuie sa se afle in intervalul ‘. $lower. ‘ – ‘ . $upper;

}

?>

 

 

3. Avem doua variabile $canbe1 si $canbe2. Sa se verifice daca $number este egala cu una dintre cele doua

 

<?php

 

$number = 500;

$canbe1 = 2;

$canbe2 = 4;

 

if($number == $canbe1 || $number == canbe2)

{

echo ‘Ok';

}

 

?>

 

4. Se se afiseze si un mesaj in cazul in care $number nu este egal cu niciunul dintre numere

 

if($number == $canbe1 || $number == canbe2)

{

echo ‘Ok';

}

else

{

echo ‘$number nu este egal cu nici unul dintre cele doua numere';

}

 

 

5. Sa se verifice daca $number nu este egal cu nici unul dintre cele doua variabile $canbe1 si $canbe2

 

$number = 500;

$canbe1 = 2;

$canbe2 = 4;

if  ! ($number == $canbe1 || $number == $canbe2)

{

echo “Numarul $number nu este egal cu niciunul dintre numere”;

}

 

6. Sa se afiseze si un mesaj pentru cazul in care $number este egal cu unul dintre numere

if  ! ($number == $canbe1 || $number == $canbe2)

{

echo “Numarul $number nu este egal cu niciunul dintre numere”;

}

else

{

echo ‘$number este egal cu unul dintre numere';

}

 

 

 

–     24 – Egalul triplu

Avem doua variabile $num1 si $num2

 

 

1. Sa se verifice egalitatea celor doua variabile folosind operatorul = =

<?php

$num1= ‘1’;

$num2=1;

if($num1= =$num2)

{

echo ‘Equal.';

}

else

{

echo ‘Not equal';

}

?>

 

2. Sa se verifice egalitatea celor doua variabile foloind egalul triplu = = =

<?php

$num1= ‘1’;

$num2=1;

 

if($num1 === $num2)

{

echo ‘Equal.';

}

else

{

echo ‘Not equal';

}

?>

 

 

– 25 – Bucla while

 

1. Sa se afiseze de 10 ori textul Hello folosind bucla while

 

<?php

$contor=1;

while($contor <=10)

{

echo ‘Hello<br>';

$contor++;

}

?>

 

2. Sa se afiseze si numarul de iteratii la fiecare executie a buclei

 

<?php

$contor=1;

echo $contor;

while($contor <=10)

{

echo ‘ Hello<br>';

$contor++;

echo $contor;

}

?>

 

 

– 26 – Bucla do {} while ()

 

1. Realizati o bucla do – while dar in care conditia de oprire sa fie totdeauna falsa – 0

 

<?php

do

{

echo ‘This will ALWAYS show';

} while (0);

?>

 

2. Realizati o bucla do – while in care conditia de oprire sa devina falsa dupa 10 iteratii

 

<?php

$counter=1;

do

{

$counter++;

echo ‘This will ALWAYS show <br>';

} while ($counter<=10);

?>

 

 

– 27 – Bucla de ciclare FOR

 

1. Sa se afiseze numerele de la 1 la 10 prin incrementarea variabilei contor

 

for($count=1; $count<=10; $count++)

{

echo $count.'<br>';

}

 

 

2. Sa se afiseze numerele de la 10 la 1 prin decrementarea variabilei contor

 

for($contor=10  ;  $contor >=1  ;  $contor–)

{

echo $contor . ‘<br>';

}

 

 

– 27 – instructiunea switch()

 

1. Folosind instructiunea switch sa se afiseze cate un mesaj pentru fiecare caz in care variabila $number este egala cu una din valorile 1, 2 si 3

 

<?php

$number = 1;

 

switch($number)

{

case 1:

echo “Optiunea 1″; break;

case 2:

echo “Optiunea 2″; break;

case 3:

echo “Optiunea 3″; break;

 

}

?>

 

2. Folosind instructiunea switch sa se afiseze cate un mesaj pentru fiecare caz in care variabila $number este egala cu una din valorile 1, 2 si 3 si un alt mesaj pentru cazul in care nu este egala cu nici una din valori.

 

<?php

$number = 4;

 

switch($number)

{

case 1:

echo “Optiunea 1″; break;

case 2:

echo “Optiunea 2″; break;

case 3:

echo “Optiunea 3″; break;

default:

echo “Nu se incadreaza in nici o optiune”; break;

}

?>

 

3. Dandu-se o zi a saptamanii sa se decida daca e o zi din weekend sau din timpul saptamanii

<?php

$day=”sambata”;

switch($day)

{

case “sambata”:

case “duminica”: echo ‘It ‘s weekend'; break

default: echo ‘It’s week day'; break

}

?>

 

 

– 29 – Functiile die si exit

 

1. Folositi instructiunea die pentru a intrerupe executia scriptului dupa afisarea textului Hello

<?php

echo ‘Hello';

echo ‘ World';

?>

 

 

<?php

echo ‘Hello';

die();

echo ‘ World';

?>

 

2. Folositi die() cu un mesaj de eroare.

 

<?php

echo ‘Hello <br>';

die( ‘Eroare, executarea scriptului a fost intrerupta’);

echo ‘ World';

?>

 

3. Simulati conectarea la serverul localhost iar in caz de nereusita afisati un mesaj de eroare

 

<?php

mysql_connect(‘localhost’,’root’,”) or die(Nu s-a reusit conectarea la server);

echo ‘Ne-am conectat la server';

?>

 

– 30 – Functii, elemente de baza

 

1. Creati o functie care sa afiseze un nume

 

<?php

function afis_nume()

{

echo ‘Alex';

}

 

echo “Numele lui este<br>”;

afis_nume();

 

?>

 

– 31 – Functii cu argumente

 

Folosind o functie cu argumente sa se adune doua numere

 

 

<?php

 

$i_number=10;

$i_number=5;

 

function add($number1, $number2)

{

echo $number1 + $number2;

}

 

add($i_number1,$i_number2);

 

?>

 

2. Sa se creeze o functie care sa afizeze data primind ca parametri ziua, luna si anul

 

<?php

function afis_data($zi, $luna, $an)

{

echo $zi. ‘ ‘ . $luna . ‘ ‘ . $an;

}

 

afis_data(31, ‘martie’, 2011);

?>

 

– 32 – Functii care returneaza valori

 

1. Folosind instructiunea return sa se afizeze rezultatul returnat de o functie care aduna doua numere primite ca parametri.

 

<?php

 

function add($number1, $number2)

{

$result = $number1+$number2;

return $result;

}

 

echo add(10,10);

}

 

?>

 

2. Sa se creeze o functie care sa returneze rezultatul impartirii a doua numere. Cu ajutorul celor doua functii, pentru adunare si pentru impartire sa se returneze rezultatul expresiei (10 + 10) / (5 + 5)

 

<?php

function div($number1, $number2)

{

$result = $number1 / $number2;

return $result;

}

 

$sum=div ( add(10,10), add(5,5) );

echo $sum;

?>

 

– 33 – Variabile globale

folosim o variabila $user_ip care stocheaza adresa unui user care acceseaza pagina PHP

 

<?php

$user_ip = $_SERVER[‘REMOTE_ADDR’];

echo $user_ip;

?>

 

Vom crea o functie echo_ip() in care se va folosi variabila $user_ip.

<?php

$user_ip = $_SERVER[‘REMOTE_ADDR’];

 

function echo_ip()

{

$sir=’Adresa ta este’. $user_ip. ‘<br>';

echo $sir;

}

 

echo_ip();

?>

 

De aceasta data se afiseaza doar sirul

“Adresa ta este”

fara sa mai adauge si IP-ul 127.0.0.1 pentru ca variabila $user_ip nu mai este recunoscuta in interiorul functiei echo_ip().

 

Inserati declaratia global $user_ip; la inceputul functiei pentru a determina PHP-ul sa recunoasca variabila $user_ip in interiorul functiei

 

 

<?php

$user_ip = $_SERVER[‘REMOTE_ADDR’];

 

function echo_ip()

{

global $user_ip;

$sir=’Adresa ta este’. $user_ip. ‘<br>';

echo $sir;

}

 

echo_ip();

?>

 

 

– 34 – Functii pentru siruri de caractere

Avem variabila $string = ‘This is an example string';

 

Vom folosi functia str_word_count(). Poate fi folosita atat pentru a numara cate cuvinte se afla intr-un sir de caractere cat si pentru a produce un vector ce contine cuvintele din sirul de caractere dat ca parametru.

str_word_count($string, 0)  sau str_word_count($string) returneaza numarul de cuvinte din $string

str_word_count($string,1) va returna un vector (array) care va contine cuvintele din $string iar indicele unui element va indica pe ce pozitie in sir se afla cuvantul continut de element.

str_word_count($string,2) va returna un vector asociativ in care elementele vor contine fiecare cuvant iar fiecare element va avea indicele egal cu pozitia la care se afla cuvantul in sir (pozitia din punct de vedere al caracterelor nu al cuvintelor)

 

1. Sa se returneze numarul de cuvinte din sirul continut de variabila $string

<?php

$string = ‘This is an example string';

$string_word_count= str_word_count($string);

echo $string_word_count;

?>

 

 

2. Sa se afiseze vectorul ce contine cuvintele din sirul $string

<?php

$string = ‘This is an example string';

$string_word_count= str_word_count($string,1);

print_r ($string_word_count);

?>

 

3. Sa se afiseze vectorul ce contine cuvintele din sirul $string si pozitiile acestora in sir (la al catalea caracter se pozitioneaza)

<?php

$string = ‘This is an example string';

$string_word_count= str_word_count($string,2);

print_r ($string_word_count);

?>

 

Modificam variabila string astfel incat sa avem caracterul ‘.’ la sfarsitul textului

$string =’This is an example string .’

 

4. Aplicati functia str_word_count astfel incat sa ia in consideratie si ultimul caracter ca fiind cuvant separat

 

<?php

$string = ‘This is an example string .';

$string_word_count= str_word_count($string,1,’.’);

print_r ($string_word_count);

?>

 

Modificati variabila $string astfel incat sa contina mai multe caractere care nu sunt litere ale alfabetului.

$string=’This is an example string & this is a tutorial .';

 

5. Aplicati functia str_word_count astfel incat sa fie considerate cuvinte separate caracterele specificate in sirul dat ca parametru pe pozitia 3.

 

<?php

$string=’This is an example string & this is a tutorial .';

$string_word_count = str_word_count($string,1, ‘&.!’) ;

print_r($string_word_count);

?>

 

 

– 35 – Functii pentru siruri , continuare

 

6. Amestecati aleatoriu caracterele dintr-un sir folosind functia shuffle.

 

<?php

$string = “This is an example string”;

$string_shuffled= str_shuffle($string);

echo $string_shuffled;

?>

 

 

Avem sirul $string = “abcdefghijklmnop0123456789″ care contine literele alfabetului si cifrele de la 0 la 9.

 

7. Sa se genereze un text din cifre si litere aleatoare de lungime 5 caractere.

 

 

<?php

$string = “abcdefghijklmnop0123456789″;

$string_shuffled = str_shuffle($string);

$half=substr($string_shuffled, 0, 5);)

echo $half;

?>

 

8. Sa se genereze un text din cifre si litere aleatoare de lungime egala cu jumatate din lungimea sirului $string.

 

<?php

$string = “abcdefghijklmnop0123456789″;

$string_shuffled = str_shuffle($string);

$half=substr($string_shuffled, 0, strlen($string)/2);)

echo $half;

?>

 

Avem sirul $string = “This is an example string”;

 

8. Afisati inversul sirului $string folosind functia strrev()

 

<?php

$string = “This is an example string”;

$string_reversed= strrev($string);

echo $string_reversed;

?>

 

 

-36 – Functii pentru siruri de caractere , continuare

 

9. Folosind functia similar_text sa se afiseze gradul de similitudine dintre doua siruri de caractere.

 

<?php

$string1 = ‘This is an essay. I’m going to be talking about php.';

$string2 = ‘This is an essay. I will be talking about the subject php.';

similar_text($string1, $string2, $result);

echo ‘The similarity between is, ‘, $result;

?>

 

 

 

10. Sa se afiseze lungimea unui sir de caractere.

 

<?php

$string = ‘This is an example string';

$string_length = strlen($string);

echo $string_length;

?>

 

 

11. Folosind functia strlen sa se verifice daca un sir nu este vid.

<?php

$string = ‘This is an example string';

$string_length = strlen($string);

if( $string_length > 0)

{

echo $string;

}

else

{

echo ‘Eroare, introduceti macar un caracter';

}

?>

 

– 37 – Functii pentru siruri de caractere, continuare

 

12. Folosind functia trim eliminati spatiile din stanga si din dreapta unui sir de caractere

 

Functia trim(), sterge spatiile din stanga si din dreapta unui sir

 

<?php

$string = ‘ This is an ‘;

$string2=’example string ‘;

$string_trimmed = trim($string) . trim($string2);

echo $string_trimmed;

?>

 

13. Folositi functiile ltrim si rtrim pentru exercitul 12.

<?php

$string = ‘ This is an ‘;

$string2=’example string ‘;

$string_trimmed = ltrim($string) . ltrim($string2);

echo $string_trimmed;

?>

 

 

14. Folosind functiile addslashes si htmlentities sa se afiseze un element html care contine ghilimele, de exemplu o imagine

 

– Mai intai fara htmlentities

<?php

$string = ‘This is a <img src=”image.jpg”> string.';

$string_slashes = addslashes($string);

echo $string_slashes;

?>

 

– Apoi folosind si htmlentities

<?php

$string = ‘This is a <img src=”image.jpg”> string.';

$string_slashes = htmlentities(addslashes($string));

echo $string_slashes;

?>

 

 

15. Eliminati caracterele slash folosind functia stripslashes()

 

<?php

$string = ‘This is a <img src=”image.jpg”> string.';

$string_slashes = htmlentities(addslashes($string));

echo stripslashes($string_slashes);

?>

 

 

– 38 – Introducere in vectori, array

 

1. Creati un vector (cateva alimente) si afisati elementele de pe pozitia 0 si 2.

 

<?php

$food = array(‘Pasta’, ‘Pizza’, ‘Salad’);

 

echo $food[0];

echo $food[2];

?>

 

2. Folosind functia print_r afisati vectorul creat anterior

 

<?php

$food = array(‘Pasta’, ‘Pizza’, ‘Salad’);

print_r($food);

?>

 

3. Adaugati inca un aliment in vectorul $food – varianta cu array()

<?php

$food = array(‘Pasta’, ‘Pizza’, ‘Salad’,’Vegetables’);

print_r($food);

?>

 

 

3. Adaugati un element pe a cincea pozitie in vector (indicele 4)

<?php

$food = array(‘Pasta’, ‘Pizza’, ‘Salad’,’Vegetables’);

$food[4]=’Fruit';

print_r($food);

?>

 

 

– 39 – Vectori asociativi

In exemplul anterior aveam un vector ce continea numele a 4 tipuri de alimente

 

<?php

$food = array(‘Pasta’, ‘Pizza’, ‘Salad’,’Vegetables’);

?>

1. Creati un vector in care fiecarui aliment sa-i fie asociat si o valoare nutritiva in kilocalorii

 

<?php

$food = array(‘Pasta’=>300, ‘Pizza’=>1000, ‘Salad’=>150, ‘Vegetables’=>50);

print_r($food);

?>

 

2. Afisati elementul din vector care are indicele ‘Pasta’, ‘Pizza’

<?php

echo $food[‘Pasta’];

echo $food[‘Pizza’];

?>

 

 

– 40 – Vectori bidimensionali

 

1. Creati un vector bidimensional care sa contina pe categorii alimentele sanatoase si cele nesanatoase

 

 

<?php

$food=array(

‘Healthy’=>

array(‘Salad’,’Vegetable’,’Pasta’),

‘Unhealthy’=>

array(‘Pizza’,’Ice cream’) );

?>

 

 

2. Afisati elementul ‘Pasta’

 

<?php

echo $food[‘Healty’] [2];

?>

 

3. Afisati elementul ‘Ice cream’

<?php

echo $food[‘Unhealty’] [1];

?>

 

– 41 – Instructiunea de ciclare foreach()

 

fie vectorul obtinut din sirul ‘This is an example string’ folosind functia str_word_count

array([0]=> This [5] => is [8] => an [11] => example [19] => string)

 

sau dat prin array()

<?php

$vector = array(0 => ‘This’, 5=>’is’, 8 => ‘an’, 11 => ‘example’, 19 => ‘string’);

?>

 

1. Sa se afiseze toate elementele vectorului.

 

<?php

$vector = array(0 => ‘This’, 5=>’is’, 8 => ‘an’, 11 => ‘example’, 19 => ‘string’);

 

foreach($vector as $elem)

{

echo $elem.”<br>”;

}

?>

 

2. Sa se afiseze toate elementele vectorului si cheile acestora

 

<?php

$vector = array(0 => ‘This’, 5=>’is’, 8 => ‘an’, 11 => ‘example’, 19 => ‘string’);

 

foreach($vector as $cheie => $elem)

{echo $cheie . ” “;

echo $elem.”<br>”;

}

?>

 

3. Afisati folosind instructiunea foreach() continutul vectorului definit anterior (40-1):

 

<?php

$food=array(

‘Healthy’=>

array(‘Salad’,’Vegetable’,’Pasta’),

‘Unhealthy’=>

array(‘Pizza’,’Ice cream’) );

 

 

foreach($food as $category => $inner_array)

{

echo $category.'<br>';

 

foreach($inner_array as $item)

{

echo $item.'<br>';

}

}

?>

 

 

2. Puneti in evidenta denumirile categoriilor folosind tag-ul <strong>

 

<?php

foreach($food as $category => $inner_array)

{

echo ‘<strong>’.$category.'<strong><br>';

 

foreach($inner_array as $item)

{

echo $item.'<br>';

}

}

?>

 

– 42 – functiile include() si require()

 

Fie fisierul header.php

<h2>My page</h2>

 

 

Vom crea un fisier denumit index.php si un altul anotherpage.php

 

index.php:

 

<?php

$var= ‘String';

echo $var;

?>

 

anotherpage.php

 

<?php

$var = 10;

echo $var;

?>

 

1. Modificati continului lui index.php astfel incat sa contina si fisierul header.php

 

index.php;

 

<?php

include ‘header.php';

$var= ‘String';

echo $var;

?>

 

2. Modificati si fisierul anotherpage.php astfel incat sa contina header.php

 

<?php

include ‘header.php';

$var = 10;

echo $var;

?>

 

3. In header.php declarati si cateva variabile:

 

<h2>My page</h2>

<?php

$var1 = ‘String';

$var2 = 10;

?>

 

si le afisati din interiorul lui index.php si a lui anotherpage.php

 

index.php:

 

<?php

include ‘header.php';

echo $var1;

?>

 

anotherpage.php:

 

<?php

include ‘header.php';

echo $var2;

?>

 

4. Folositi include si require() pentru a insera un fisier inexistent

 

 

<?php

include(‘doesntexist.php’);

echo ‘Var2 is’. $var2;

?>

 

<?php

require(‘doesntexist.php’);

echo ‘Var2 is’. $var2;

?>

 

 

– 43 – include_once si require_once

 

1. Includeti fisierul header.php de doua ori folosind require().

 

<?php

require(‘header.php’);

require(‘header.php’);

?>

 

2. Includeti fisierul header.php de doua ori, o data folosind require() iar a doua oara folosind require_once().

<?php

require(‘header.php’);

require_once(‘header.php’);

?>

 

– 44 – preg_match() Pattern Matching

 

Avem variabila $string = ‘This is a string';

 

1. Cautati un sir (“is”) in interiorul sirului “This is a string” folosind functia preg_match.

 

<?php

$string = ‘This is a string.';

if(preg_match(‘/is/’,$string ) )

{

echo ‘Match found';

}

else

{

echo ‘No match found';

}

?>

 

 

Se poate verifica daca exista spatiu intr-un sir si atunci expresia de cautare este de forma 2 slash-uri cu un spatiu intre ele

‘/ /’

 

– 45 – Pattern Matching – continuare

 

1. Creati o functie care sa verfice daca un sir de caractere contine macar un spatiu. Daca are atunci functia returneaza true altfel returneaza false

 

<?php

 

function has_space($string)

{

if(preg_match(‘/ /’, $string) )

{

return true;

}

else

{

return false;

}

}

 

$string = ‘Thisdoesnthasaspace';

 

 

if(has_space($string))

{

echo ‘Has a space';

}

else

{

echo ‘Has no spaces';

}

?>

 

2.  $string = ‘This doesn/’t have a space’. Folositi functia cu sirul $string

 

 

– 46 – String length

 

1. Folosind functia strlen() afisati numarul de caractere al sirului: ‘How many characthers does this have?’

 

<?php

$string_length = strlen(‘How many characthers does this have?’);

echo $string_length;

?>

 

2. Avand o variabila care contine un sir de caractere aflati lungimea acelui sir.

 

<?php

$string = ‘Alex';

$string_length = strlen($string);

echo $string_length;

?>

 

3. Aflati lungimea unui sir de caractere, $string_length, si cu ajutorul unei instructiuni for afisati toate numerele de la 1 la $string_length.

 

<?php

$string = ‘Alex';

$string_length = strlen($string);

for($x=1; $x<= $string_length; $x++)

{

echo $x . ‘<br>';

}

?>

 

– 47 – Upper and lower case conversion

 

1. Avem sirul $string = ‘I Could Be Any Case’. Realizati conversii in litere mici si in litere mari.

 

 

<?php

$string = ‘I Could Be Any Case';

 

$string_lower = strtolower($string);

$string_upper = strtoupper($string);

 

echo $string_lower;

echo string_upper;

?>

 

2. Realizati un formular care sa primeasca numele unei persoane si sa trimita datele sub forma GET unui fisier index.php

 

<form action=”index.php” method=”GET”>

Name: <input type=”text” name=”user_name”> <br><br>

<input type=”submit” value = “Submit”>

</form>

 

3. Preluati din formular numele introdus in caseta text cu numele user_name.

 

<?php

if( isset($_GET[‘user_name’]) && !empty($_GET[‘user_name’]) )

{

echo $user_name = $_GET[‘user_name’];

}

 

?>

 

4. Verificati daca numele introdus este egal cu un nume care ne intereseaza pe noi de ex. ‘alex’. Introduceti in caseta text numele alex atat cu litere mici cat si cu litere mari sau majuscula.

 

if($user_name==’alex’)

{

echo ‘You are the best.';

}

 

5. Transformati sirul de caractere primit in caseta text in litere mici si stocati-l intr-o variabila $user_name_lc pe care mai apoi o comparati cu ‘alex’

 

$user_name_lc = strtolower($user_name);

 

 

<form action=”index.php” method=”GET”>

Name: <input type=”text” name=”user_name”> <br><br>

<input type=”submit” value = “Submit”>

</form>

 

<?php

if( isset($_GET[‘user_name’]) && !empty($_GET[‘user_name’]) )

{

$user_name = $_GET[‘user_name’];

$user_name_lc = strtolower($user_name);

 

if(user_name_lc==’alex’)

{

echo ‘You are the best, ‘.  $user_name;

}

}

 

?>

 

 

– 48 – String position strpos();

 

1. Cautati in sirul ‘This is a string, and it is an example’ subsirul ‘is’ si afisati locatia din sir unde a fost gasit.

 

<?php

$find = ‘is';

 

$string = ‘This is a string, and it is an example';

echo strpos($string, $find);

?>

 

2. Folosind al treilea parametru offset, gasiti si a doua aparitie a lui ‘is’ in sir.

 

<?php

echo strpos($string,$find,3);

?>

 

3. Folosind metoda cu offset gasiti toatea aparitiile lui ‘is’ in sir. Dupa fiecare gasire a lui ‘is’ se calculeaza offset-ul ca fiind ultima pozitia a lui ‘is’ la care se adauga lungimea lui ‘is’.

 

<?php

 

$offset=0;

$find = ‘is';

$find_length = strlen($find);

$string = ‘This is a string, and it is an example.';

 

while($string_position = strpos($string, $find, $offset))

{

echo ‘<b>’.$find .'</b>’. ‘ found at ‘. $string_position. ‘<br>';

$offset = $string_position + $find_length;

}

 

?>

 

 

 

4. Folosind un formular sa se gaseasca aparitiile unui sir “de_cautat” (textbox) in altul “sir_target” (textarea).

 

 

<?php

 

$sir_target=$_POST[“string_targ”];

$de_cautat=$_POST[“de_cautat”];

if(isset($_POST[“submit_bt”]))

{

 

$sir_target=trim($sir_target); //aceste doua linii sunt folosite pentru a corecta modul

$sir_target=” “.$sir_target; // de functionare a lui strpos, se insereaza un spatiu la

//inceputul lui $sir_target

$de_afisat=”;

$caut_len = strlen($de_cautat);

$offset=0;

while($pozitie=strpos($sir_target,$de_cautat,$offset))

{

$offset=$pozitie+$caut_len;

$de_afisat.= (($pozitie-1).” “);

}

echo”Sirul $de_cautat a fost gasit la pozitia  <br />”. $de_afisat;

}

 

 

?>

 

<form action=”search.php” method=”post”>

<textarea cols=”65″ rows=”6″ name=”string_targ”>

<?php

$sir_target=trim($sir_target); // afisam sirul fara alte spatii.

echo $sir_target;

?>

 

</textarea>

<br />

<br />

<input type=”text” name=”de_cautat”>

<br />

<br />

<input type=”submit” name=”submit_bt” value=”cauta”>

 

</form>

 

 

– 50 – Inlocuirea unui sir dintr-un subsir.

 

1. Folosind functia substr_replace() inlocuiti un subsir cu un altul. In sirul ‘This part don’t search. This part search’ inlocuiti subsirul ‘part’ cu sirul ‘alex’.

 

<?php

$string = ‘This part don’t search. This part search';

$string_new =  substr_replace($string, ‘alex’, 29, 4);

echo $string_new;

?>

 

 

2. Aplicatie: Intr-un text dat intr-un formular, intr-un camp de tip <textarea>, sa se gaseasca toatea aparitiile unui cuvant si apoi afisati textul in care cuvantul cautat va fi evidentiat in culoarea rosie.

 

<?php

 

$sir_target=$_POST[“string_targ”];

$de_cautat=$_POST[“de_cautat”];

if(isset($_POST[“submit_bt”])&& isset($de_cautat) && (strlen($de_cautat)>0))

{

 

$sir_target=trim($sir_target);

$sir_target=” “.$sir_target;

$de_afisat=”;

$caut_len = strlen($de_cautat);

$offset=0;

while($pozitie=strpos($sir_target,$de_cautat,$offset))

{

$offset=$pozitie+$caut_len;

$de_afisat.= (($pozitie-1).” “);

}

$de_afisat=trim($de_afisat);

if(strlen($de_afisat)>0)

{

echo “Sirul $de_cautat a fost gasit la pozitia  <br />”. $de_afisat;

$pozitii = explode(‘ ‘,$de_afisat);

$sir_target2=trim($sir_target);

print_r($pozitii);

$nr_poz=count($pozitii);

$inlocuire= “<font size=”5″ color=”red”>$de_cautat</font>”;

echo $nr_poz.'<br>';

for($i=$nr_poz-1;$i>=0;$i–)

{

$sir_target2=substr_replace($sir_target2,$inlocuire,$pozitii[$i],$caut_len);

// echo ‘<br>’.$pozitii[$i];

}

echo $sir_target2;

}

else

{

echo “sirul nu a fost gasit”;

}

}

 

 

?>

 

<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 3.2//EN”>

 

<html>

<head>

<meta name=”generator” content=

“HTML Tidy for Windows (vers 14 February 2006), see www.w3.org”>

 

<title></title>

</head>

 

<body>

<form action=”substr_replace.php” method=”post”>

<textarea cols=”65″ rows=”6″ name=”string_targ”>

<?php

echo htmlentities(stripslashes($sir_target));

?>

 

</textarea><br>

<br>

<input type=”text” name=”de_cautat”><br>

<br>

<input type=”submit” name=”submit_bt” value=”cauta”>

</form><?php

//echo $sir_target2;

?>

</body>

</html>

 

 

 

– 51 – Inlocuirea unui sir

 

1. Stergeti siruul ‘is’ folosind str_replace din sirul $string = ‘This is string, and is an example.’

 

<?php

$string = ‘This is string, and is an example.';

$new_string = str_replace(‘is’, ‘ ‘, $string);

echo $new_string;

?>

 

 

2. Stergeti inca un cuvant din sirul rezultat $new_string.

 

<?php

$string = ‘This is string, and is an example.';

$new_string = str_replace(‘is’, ‘ ‘, $string);

$new_string = str_replace(‘string’, ‘ ‘, $new_string);

echo $new_string;

?>

 

 

3. Stergeti 3 cuvinte folosind un vector cu 3 elemente de cautat.

 

<?php

$find = array(‘is’, ‘string’,’ example’);

$string = ‘This is a string, and is an example.';

 

$new_string = str_replace($find, ‘ ‘, $string);

 

echo $new_string;

 

?>

 

 

4. Inlocuiti 3 cuvinte cu alte 3 cuvinte folosind 2 vectori ce contine cuvintele de cautat respectiv cuvintele de inlocuit.

 

<?php

$find = array(‘is’, ‘string’,’example’);

$replace = array(‘IS’,’STRING’,’ ‘);

$string = ‘This is a string, and is an example.';

 

$new_string = str_replace($find, $replace, $string);

 

echo $new_string;

 

?>

 

 

5. Rezolvati aplicatia anterioara in care se cerea evidentierea cuvintelor cautate intr-un text dat intr-un element <textarea> folosind str_replace().

 

<?php

 

$sir_target=$_POST[“string_targ”];

$de_cautat=$_POST[“de_cautat”];

if(isset($_POST[“submit_bt”]))

{

 

$sir_target=trim($sir_target);

$inlocuire='<font size=”4″ color=”red”>’.$de_cautat.'</font>';

$de_afisat = str_replace($de_cautat,$inlocuire,$sir_target);

 

}

 

 

?>

 

<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 3.2//EN”>

 

<html>

<head>

<meta name=”generator” content=

“HTML Tidy for Windows (vers 14 February 2006), see www.w3.org”>

 

<title></title>

</head>

 

<body>

<form action=”search.php” method=”post”>

<textarea cols=”65″ rows=”6″ name=”string_targ”>

<?php

$sir_target=trim($sir_target);

echo htmlentities(stripslashes($sir_target));

?>

 

</textarea><br>

<br>

<input type=”text” name=”de_cautat”><br>

<br>

<input type=”submit” name=”submit_bt” value=”cauta”>

</form><?php

echo stripslashes($de_afisat);

?>

</body>

</html>

 

– 51 – Cenzurarea cuvintelor

 

<?php

 

?>

 

<form action=”index.php” method= “POST”>

<textarea name=”user_input”