Functii pentru lucru cu functii

Aici gasiti functii PHP ce pot fi folosite in lucrul cu functii create /definite in script.



1.   call_user_func(„func”, arg)

– Apeleaza functia „func” dandu-i valoarea argumentului „arg”. Returneaza rezultatul functiei apelate, sau FALSE.

<?php
function func($arg1, $arg2) {
  return „$arg1 – $arg2”;
}

// Apeleaza func()
echo call_user_func(„func”, ‘PHPCursWeb’, ‘net’);       // PHPCursWeb – net


// Sau o metoda mai avansata, prin crearea si apelarea functiei in acelasi timp (PHP 5.3 +)
echo call_user_func(function($arg) { echo „Tutoriale $arg”; }, ‘php’);       // Tutoriale php
?>


2.   call_user_func_array(„func”, array_arg)

– Apeleaza o functie („func”) dandu-i valoarea argumentelor dintr-un Array (array_arg). Returneaza rezultatul functiei apelate, sau FALSE.

<?php
// Functie creata standard
function func1($arg1, $arg2) {
  return $arg1 + $arg2;
}

// Functie creata in variabila (PHP 5.3 +)
$func2 = function($arg1, $arg2) {
  return $arg1 * $arg2;
};

// Matricea pt. parametri
$aray_p = array(7, 8);

// Apeleaza func1()
echo call_user_func_array(„func1”, $aray_p);       // 15


// Apeleaza $func2
echo call_user_func_array($func2, $aray_p);       // 56
?>


3.   create_function(„argumente”, „cod_functie”)

– Creaza dinamic o functie ce va avea argumentele „argumente” si codul ce-l executa „cod_functie”. Returneaza functia creata (poate fi asociata cu un nume de variabila), sau FALSE. („argumente” si „cod_functie” trebuie sa fie siruri)

<?php
$var = create_function(‘$arg’, ‘return $arg*2;’);
echo $var(8);       // 16
?>


4.   func_num_args()

– Returneaza numarul de argumente primite de o functie. Se foloseste in interiorul acelei functii.

<?php
function test() {
  // Preia si afiseaza numarul de argumente primite
  $nr_args = func_num_args();
  echo „Numar argumente primite: $nr_args”;
}

// Apeleaza functia
test(1, 2, ‘a’);       // Numar argumente primite: 3
?>


5.   func_get_arg(nr)

– Returneaza argumentul cu index-ul „nr” din cele primite de o functie (primul argument are index 0). Se foloseste in interiorul acelei functii. Daca numarul de argumente e mai mic decat „nr”, returneaza FALSE.

<?php
function test() {
  // Preia numarul de argumente primite
  $nr_args = func_num_args();

  // Daca nr. argumente e mai mare sau egal cu 2, afiseaza argumentul cu index 2
  if ($nr_args>=2) {
    echo ‘Argumentul cu indice 2 e: ‘. func_get_arg(2);
  }
}

// Apeleaza functia
test(1, ‘php’, ‘www.PHPCursWeb.net’);       // Argumentul cu indice 2 e: www.PHPCursWeb.net
?>


6.   func_get_args()

– Returneaza o matrice cu argumentele primite de o functie. Se foloseste in interiorul acelei functii..

<?php
function test() {
  // Preia argumentele primite
  $array_args = func_get_args();

  // Afiseaza structura matricei cu argumentele
  print_r($array_args);
}

// Apeleaza functia
test(1, ‘tutoriale’, ‘www.PHPCursWeb.net’);       // Array ( [0] => 1 [1] => tutoriale [2] => www.PHPCursWeb.net )
?>


7.   function_exists(„function”)

– Returneaza TRUE daca functia „function” (numele ei intre ghilimele) exista, altfel, returneaza FALSE.


8.   register_shutdown_function(„func”, param1, param2, …)

– Inregisteaza functia „func” sa fie executata la terminarea scriptului (dupa executarea comenzilor din el), sau dupa apelarea lui „exit()”. „param1”, „param2” sunt optionali si reprezinta parametri ce vor fi transferati la „func”.

<?php
function end_script() {
  echo ‘Terminare script’;
}

// Inregistreaza sa fie executata functia end() la sfarsit de executie a scriptului
register_shutdown_function(„end_script”);

// Se executa cod oarecare
echo (2+3).’ – ‘;

// Rezultatul functiei va fi afisat ultimul, desi a fost inregistrata pt. executie inaintea echo-ului de sus
// Scriptul va returna: 5 – Terminare script
?>


O lista mai detaliata cu aceste functii gasiti la pagina oficiala Functii pentru functii

Similar Posts

  • Functii PHP clase si obiecte

    Aici gasiti un set de functii PHP pentru lucrul cu clase si obiecte. 1.   class_alias(‘ClasaOriginala’, ‘Alias’) – Creaza in memorie o clasa cu numele dat la ‘Alias’, identica cu cea a carei nume e precizat la ‘ClasaOriginala’. <?php // Definire clasa AClas class AClas {   public $site = ‘www.PHPCursWeb.net’;       // Proprietate } //…

  • Functii PHP matematice

    Aici gasiti functii PHP matematice, in special pentru lucrul cu numere. 1.   abs(nr) – Returneaza valoarea absoluta (cu +) a lui „nr”. <?phpecho abs(-7.8);         // 7.8 (double /float)echo abs(3);         // 3 (integer)echo abs(-5);         // 5 (integer)?> 2.   base_convert(nr, baza1, baza2) –…

  • Functii pentru fisiere si directoare

    Aici gasiti cateva din cele mai utile functii PHP pentru lucru cu sistemul de fisiere si directoare. 1.   basename(adresa, „sufix”) – Returneaza partea cu numele fisierului dintr-o adresa URL. „sufix” e optional, daca e specificat, functia elimina si pe acesta de la sfarsitul numelui. <?php$url = ‘http://www.PHPCursWeb.net/php-mysql/index.php’;$file = basename($url);       // $file…

  • Functii pentru Array

    Aici gasiti cateva din cele mai utile functii PHP pentru Array (matrice). 1.   array_change_key_case(array, case) – Transforma cheile din primul parametru (array) in majuscule sau litere mici, dupa cum e specificat la „case” (CASE_UPPER sau CASE_LOWER). Default e CASE_LOWER. Daca „array” nu e o matrice, returneaza FALSE. <?php$aray = array(„FirSt”=>1, „SecOnd”=>8);print_r(array_change_key_case($aray, CASE_UPPER)); // Va…

  • PHP OOP – Clase si Obiecte, Metoda constructor 13

    OOP (Object Oriented Programming – Programare Orientata pe obiecte) este un concept (sau tehnica) de programare care trateaza datele si functiile ca obiecte. Important la acest concept este sa fie inteleasa bine diferenta dintre Clasa (Class) si Obiect (Object).Inainte de a trece la lucruri practice, iata cate ceva teoretic despre OOP. • Clasa este o…

  • Elemente nivel mai avansat 12

    PHP Functii Anonime – Closures Incepand cu versiunea 5.3, PHP a introdus Functii Anonime, cunoscute si cu denumirea Closures.Acest tip de functii sunt fara nume. Sunt utile mai ales in retuenarea unor valori la apeluri in cadrul altor functii. 1. Exemplu, functie anonima folosita pentru returnarea unei valori intr-o functie PHP. <?php $arr = array(‘…

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *