Hoàng Web

Thiết Kế Website WordPress

  • Kho giao diện
  • Dịch Vụ
    • Thiết kế web giá rẻ
    • Thiết kế website WordPress
    • Hosting Miễn Phí 100GB
    • Tích hợp thanh toán MoMo, ViettelPay, Vietcombank, MB..
    • Tối ưu Google PageSpeed
    • Sửa lỗi nâng cấp website
    • Viết plugin WordPress
    • Code Tool theo yêu cầu
  • Bảng giá
  • Quy trình làm việc
  • Giới thiệu
  • Liên Lạc
Trang chủ » Programming » PHP » Tạo và sử dụng hàm trong PHP từ A-Z

Tạo và sử dụng hàm trong PHP từ A-Z

Thứ Sáu, 21/11/2014 by Hoàng Quách

  • shares
  • Facebook
  • Facebook Messenger
  • Gmail
  • Viber
  • Skype

Để học một ngôn ngữ không quá khó, với một ngôn ngữ lập trình bậc cao hiện nay đều có những quy tắc và thuật ngữ giống nhau bạn cần nắm ý tưởng của ngôn ngữ đó thì nguyên lý các lệnh, hàm, biến sẽ rất đơn giản với bạn. Bài hôm nay mình sẽ hướng dẫn các bạn cách tạo và gọi hàm trong PHP.

Cách tạo hàm trong PHP quá quen thuộc, mình sẽ không nói thêm nữa, những vấn đề sau đây bạn có thể thường hay sử dụng và khá hữu ích khi bạn sử dụng lẫn PHP và muốn chứa nhiều thẻ HTML trong kết quả trả về.
Nếu bạn có nhiều chuỗi HTML muốn trả về của hàm, sử dụng cách sau:

function return_html(){
    ob_start();
	?>
	
	<?php
	$out= ob_get_contents();
	ob_end_clean();
	return $out;
}
Khai báo linh hoạt tham số hàm

Không nhất thiết khai báo đầy đủ tham số của hàm, gọi hàm và truyền tham số có thể vượt quá số lượng khai báo có trên định nghĩa hàm.

function ham1(){

}
ham1('a','b');  #pass any nums params
ham1(34,345,46);

Trong hàm bạn sử dụng các hàm này để lấy các tham số được truyền vào hàm: func_get_args(), func_get_arg(i);

  • func_get_args(): lấy mảng tất cả các tham số được truyền vào hàm.
  • func_get_arg(i): trả về giá trị tham số ở vị trí i

Bạn có thể đếm số lượng tham số bởi hàm func_num_args().

Biến hàm

Giống như javascript, PHP có thể chứa hàm vào biến.

$func=function(){};
$func();	//cách gọi hàm biến

Liên kết hàm vào biến bởi tên hàm.

function ham1(){...}
$func='ham1'; //link to function name
$func();
Cách gọi hàm ở mọi nơi

Cách khác bạn gọi hàm tự tạo nếu biết tên hàm, và truyền một hoặc nhiều tham số vào hàm:

//cho phép truyền một tham số vào hàm
call_user_func('ten_ham','tham so');

//có thể truyền nhiều tham số
call_user_func_array("foobar", array("one", "two"));

Nếu muốn gọi phương thức của đối tượng.

<?php
class foo {
    function bar($arg, $arg2) {
        echo __METHOD__, " got $arg and $arg2\n";
    }
}
// Call the $foo->bar() method with 2 arguments
$foo = new foo;
call_user_func_array(array($foo, "bar"), array("three", "four"));
?>

Chi tiết hàm call_user_func_array.

Tham số hàm là callback

Truyền tham số hàm như một callback gọi lại từ nơi gọi hàm.

/*pass function as argument to function like callback*/
function ham1($cb){
	if(is_callable($cb)) $cb('sfsdf');
}
ham1(function($str){
	echo $str;
});

Sử dụng hàm is_callable() để kiểm tra biến có liên kết với hàm.

Phạm vi sử dụng biến trong hàm

Để sử dụng các biến nằm ngoài cùng với nơi khai báo hàm bạn sử dụng từ khóa use và khai báo các biến muốn sử dụng trong hàm, như thế này.

$a='sdff';$b=345;$x=new Object();
function ham2() use($a,$b,...,&$x){	//có thể truyền tham biến
	echo $a;
}
/*variable scope in function context*/
function ham1(){
	$a='sdff';$b=345;$x=new Object();
	function ham2() use($a,$b,...,&$x){	//có thể truyền tham biến
		echo $a;
	}
	ham2();
}

Chúc bạn thành công!

Nếu bạn thích bài viết này, hãy ủng hộ chúng tôi bằng cách đăng ký nhận bài viết mới ở bên dưới và đừng quên chia sẻ kiến thức này với bạn bè của bạn nhé. Bạn cũng có thể theo dõi blog này trên Twitter và Facebook

  • shares
  • Facebook
  • Facebook Messenger
  • Gmail
  • Viber
  • Skype

Chuyên mục: PHP Tìm kiếm: học php cơ bản, php

Tôi giúp gì cho bạn?

HOÀNG WEB

Địa chỉ: Tây Sơn, Phường Quang Trung, Quận Đống Đa, Hà Nội

Hotline: 0987 342 124 – 0868 292 303 (8h:00 – 21h:00)

Email: [email protected]

Website: www.hoangweb.com

KẾT NỐI VỚI TÔI

  • Facebook
  • GitHub
  • YouTube

SẢN PHẨM

  • Plugin Thanh Toán Quét Mã QR Code Tự Động
  • WP2Speed – Tối ưu Google Speed
  • 23WebHost – Hosting Miễn Phí 100GB

LIÊN KẾT

  • Có nên thuê thiết kế website giá rẻ?
  • Hướng dẫn thanh toán
  • Chính sách hoàn tiền
  • Trung tâm hỗ trợ

Copyright © 2023 | All rights reserved | HOANG WEB
Mọi hình thức sao chép nội dung trên website này mà chưa được sự đồng ý đều là trái phép.