Function | Fungsi Di PHP

Dec 11, 2010 by MyPHPtutorials Level: Pemula Komentar Print

Tutorial PHP Function akan menjelaskan cara membuat function anda sendiri (user defined function). Function memudahkan anda untuk tidak menulis kode yang sama berulang kali. Apa yang akan Anda pelajari:

  • Cara membuat function atau deklarasi function;
  • Menggunakan function disemua halaman web;
  • Argumen function,
  • Membuat function dengan argumen tak terhingga;
  • Anonymous function.

Video Tutorial Membuat Fungsi di PHP

Video tutorial membuat fungsi di php

Membuat Function

Untuk membuat function digunakan kata tercadang function, seperti:

function namaFunction(){
//badan function
//berisi kode php untuk dieksekusi
}

contoh:

<?php
function showName(){
 echo "My name is MyPHPtutorials";
}
function getUrl(){
return "http://www.myphptutorials.com";
}
?>
<html>
<head>
 <title>Contoh PHP Function</title>
</head>
<body>
 <div>
 <?php showName();?>
 </div>
 <div>
 Website: <?php echo getUrl();?>
 </div>
</body>
</html>

Menggunakan Function di Semua Halaman

Tentu saja function bisa dipanggil dari semua halaman website, caranya adalah membuat sebuah file yang berisi function yang anda buat (misal file funciton.php), dan menggunakan statement include_once untuk meng-include file tersebut. Contoh: buat file function.php

<?php
//file function.php
function showName(){
 echo "MyPHPtutorials";
}
function getUrl(){
return "http://www.myphptutorials.com";
}
?>

kemudian buat file lain yang menggunakan function di atas, dan include file function.php menggunakan statement include_once

<?php
//file index.php
include_once "function.php"; //include file function.php
?>
<html>
<head>
 <title>Contoh PHP Function</title>
</head>
<body>
 <div>
 <?php showName();?>
 </div>
 <div>
 Website: <?php echo getUrl();?>
 </div>
</body>
</html>

<?php
//file about.php
include_once "function.php";
?>
<html>
<head>
<title>About <?php showName();?></title>
</head>
<body>
Website: <?php echo getUrl();?>
</body>
</html>

Argumen Function

Informasi bisa diberikan kepada function melalui argumen argumen atau paremeter paremeter yang dipisahkan tanda koma ",". Format:

function namaFunction($argumen1, $argument2){

}

Contoh:

function tambah($a, $b){
 $hasil = $a+$b;
 echo $hasil;
}

Argumen dengan Nilai Default

Argumen function bisa memiliki nilai default seperti halnya di C++, contoh:

function jenisKelamin($kelamin = "L"){
 if($kelamin == "L"){
 echo "Laki laki";
 }elseif($kelamin == 'P'){
 echo "Perempuan";
 }else{
 echo "Unknown";
 }
}
//cara penggunaan
jenisKelamin(); //hasil akan 'Laki Laki';
jenisKelamin("L");// hasil juga 'Laki Laki';
jenisKelamin("P");// hasil 'Perempuan';

Function dengan Argumen Tak Terhingga

Function bisa memiliki argumen dengan jumlah tak terhingga, untuk itu dibutuhkan bantuan function func_num_args(), func_get_arg(), dan func_get_args(). Misalkan Anda ingin membuat function untuk menjumlahkan banyak bilangan (bukan hanya 1+2, tetapi 1+2+3+5+7 dst.), caranya adalah sebagai berikut:

function jumlah(){
 if(func_num_args() <= 0){
 echo "0";
 }else{
 $argumen = func_get_args();
 $hasil = 0;
 foreach($argumen as $bilangan){
 $hasil += $bilangan;
 }
 echo $hasil;
 }
}
//cara penggunaan
jumlah(); //hasil 0
jumlah(2); //hasil 2
jumlah(1,2,3,4,5);// hasil 15

Me-return Hasil Function

Untuk mereturn hasil dari kalkulasi yang dilakukan oleh sebuah function digunakan statement return. Statement return akan membuat eksekusi function berhenti dan memberikan hasil kalkulasi. Contoh:

function tambah($a, $b){
$hasil = $a+b;
return $hasil;
}
function cekAngka($input){
if(preg_match('/^[9-0]+$/', $input)){
 return true; // eksekusi akan berhenti disini
}
return false;
}

Anonymous Function

Anonymous function atau closures adalah function tanpa nama function. Kegunaan utamanya sebagai Callback parameter. Contoh:

echo reg_replace_callback('/google/i', function($match){
return '<a href="http://google.com">'.$match[0].'</a>';
}, 'go to google');
//hasil go to <a href="http://google.com">google</a>

Referensi


Silahkan login atau register sebelum meninggalkan komentar.