Khóa học lập trình web php tại hà nội - học thử

Thảo luận trong 'Tư vấn - Du học - Tuyển sinh' bắt đầu bởi t11nguyen, 25 Tháng mười hai 2017.

  1. t11nguyen

    t11nguyen Member Thành viên

    Bài viết:
    141
    Đã được thích:
    0
    Diendanraovataz.net - Diễn đàn rao vặt - Đăng tin mua bán - Quảng cáo miễn phí - Hiệu quả - Hàm (function) là 1 dạng chương trình con, dùng để gom các câu lệnh lại thành 1 nhóm: chúng cộng thực hành 1 bắt buộc chung, chúng được thực hành đi thực hành lại; hàm còn giúp công ty chương trình cho sáng sủa - dễ hiểu - dễ điều hành.

    Bài lap trinh web bữa nay mình xin giới thiệu:

    Trong PHP có 2 cái hàm:
    - Hàm chuẩn (hàm sẵn có của hệ thống)
    - hàm do các bạn định nghĩa

    Hàm là gì?
    Hàm là 1 dạng chương trình con, dùng để gom các câu lệnh lại thành 1 nhóm: chúng cộng thực hành 1 bắt buộc chung, chúng được thực hành đi thực hành lại; hàm còn giúp công ty chương trình cho sáng sủa - dễ hiểu - dễ điều hành.
    Để gọi hàm, dùng hình thức sau:

    1
    function_name(arg1, arg2, arg3,..., argn);
    Trong đó:
    - function_name: tên hàm
    - arg1...argn là các tham trị hoặc tham chiếu được truyền vào.

    Lưu ý: trước các arg1..argn, arg hay còn gọi la argument, không đặt các trong khoảng khóa để định kiểu như int, string,... ( khác có C), biến trong php rất cởi mở có thể nhận các kiểu dữ liệu bất kỳ. Trong trường hợp cần dùng cho chính xác kiểu dữ liệu hãy dùng dạng ép kiểu

    thí dụ 1: Xuất ra chiều dài chuỗi "abc" bằng hàm có sắn trong php (hàm strlen)

    // hàm strlen: tính chiều dài của chuỗi, đối số nhận vào là 1 chuỗi
    $length = strlen("abc");
    echo $length; // kết quả sẽ là 3
    khiến việc có hàm, chúng ta cần quan tâm:
    - Tên hàm // phải gõ chính xác, phải nhớ (một bí quyết hơi vì các editor có chức năng autocomplete)
    - Công dụng hay ý nghĩa, bí quyết dùng của hàm
    - Kiểu dữ liệu của các đối số truyền vào, vị trí các đối số
    - giá trị trả ra (return value )

    giả dụ bạn không biết được giá trị trả ra khi thực hành có thể gây lỗi. thí dụ, hàm trả ra 1 mảng mà dùng hàm echo() để xuất kết quả sẽ báo lỗi.

    Bạn có thể kiếm tìm thông báo các hàm có sẵn ( hàm chuẩn của hệ thống) ở đâu?
    php.net là trang web chính thức để bạn tra cứu thông báo.
    bên cạnh đó, 1 số hàm thuộc 1 thư viện (library hay driver) - nó là 1 extension, cần phải được bật trước khi dùng, bạn cũng cần lưu ý đến verson của library - version của php (vì mỗi phiên bản có 1 số đổi thay ).

    thí dụ 2: Cú pháp hàm strlen()

    1
    int strlen(string $str)
    Trong đó:

    • Tên hàm: strlen //bạn có thể đọc string length hay string len cho dễ nhớ.
    • Công dụng: tính chiều dài của chuỗi truyền vào
    • Đối số nhận vào: $str - kiểu string ( chuỗi )
    • Gía trị trả về ( return value ): int, 1 số nguyên là chiều dài chuỗi
    Hàm do các bạn định nghĩa:
    dù rằng php có 1 số lượng rất lớn các hàm (trên 700) nhưng trong các điều kiện thực tại chúng ta phải tự định nghĩa 1 hàm mới. Để định nghĩa 1 hàm, dùng cú pháp sau:

    function function_name(arg1, arg2, arg3,..., argn)

    //code = body function

    Trong chậm tiến độ function_name phải đặt theo các lề luật sau:
    - không được trùng có các trong khoảng khóa như function, public,..., tên hàm đã có như strlen
    - Theo lề luật đặt tên biến

    thí dụ 3: định nghĩa hàm tính bình phương 1 số.

    function square($x)

    //kiểm tra xem đối số nhận vào có phải là 1 số
    if(!is_numeric($x))

    return "Lỗi! $x chẳng hề là 1 số";

    return $x*$x;

    echo square(2); //kết quả 4
    Trong chậm tiến độ, trong khoảng khóa function để định nghĩa 1 hàm, trong khoảng khóa return để trả ra kết quả. Bạn có thể dùng hàm khác (cả hàm mới định nghĩa lẫn hàm có sẵn) trong hàm của mình.

    thí dụ 4: định nghĩa hàm chieu_dai_chuoi() nhận vào 1 chuỗi và xuất ra thông báo 'chiều dài chuỗi là...'


    //hàm lấy xuất chiều dài chuỗi
    function chieu_dai_chuoi($ch)

    echo "Chiều dài chuỗi: ".strlen($ch);

    //hàm xuất ra thông báo chuỗi
    function get_str_info($ch)

    echo "Nội dung chuỗi: $ch
    ";
    //gọi hàm chieu_dai_chuoi(), vừa định nghĩa ở trên
    chieu_dai_chuoi($ch);

    $ch = "Tôi là Nam";
    chieu_dai_chuoi($ch);
    get_str_info($ch);
    $ch = 157814;
    //ép kiểu cho biến $ch
    get_str_info((string)$ch);
    Trong chậm tiến độ, strlen() là hàm có sẵn.

    Gán giá trị của hàm cho biến
    dùng y như việc gán giá trị cho biến.
    thí dụ 5: Gán giá trị của hàm cho biến - tính chiều dài chuỗi

    //gán giá trị lấy được trong khoảng hàm strlen() cho biến $a
    $a = strlen("abc");
    echo "Chiều dài chuỗi 'abc' : $a";
    Tầm vực biến:
    PHP không hỗ trợ biến toàn cục 1 bí quyết chi tiết - giả dụ muốn khiến việc có biến toàn cục, bạn cần phải chuẩn y mảng $GLOBALS[].

    có 2 kiểu truyền giá trị cho hàm là: truyền tham trị và truyền tham chiếu.

    Thế nào là truyền tham trị?
    nghĩa là gửi "giá trị" cho hàm, có thể truyền thẳng bằng giá trị trực tiếp hoặc truyền 1 biến - sau khi thực hành các câu lệnh trong thân hàm-giá trị của biến không đổi thay.

    Thế là là truyền tham chiếu?
    nghĩa là gửi "địa chỉ" của biến cho hàm, khi hàm sẽ lấy giá trị của biến gửi vào chuẩn y địa chỉ gửi vào, sau khi thực hành các lệnh trong thân hàm thì giá trị của biến sẽ đổi thay.

    Bạn cần nắm rõ 2 định nghĩa trên để giảm thiểu lầm lẫn khi dùng. dùng tham chiếu có mong muốn giá trị của biến sẽ đổi thay - dùng tham trị thì thường dùng để trả ra các thông báo dạng tầm nã xuất.

    Truyền tham trị:
    có kiểu truyền tham trị, biến chỉ có giá trị trong thân hàm.
    thí dụ 6: Truyền tham trị cho hàm
    function test_var_scope()

    $var = 2;

    $var = 1;
    test_var_scope();
    echo $var;
    //kết quả 1 - vì giá trị của biến $var không đổi thay giá trị ngoài thân hàm,
    nó chỉ có khuôn khổ trong thân hàm.
    dùng mảng $GLOBALS[], để tạo các biến toàn cục:

    function test_var_scope()

    $GLOBALS["var"] = 2;

    $var = 1;
    test_var_scope();
    echo $var; //kết quả 2
    Truyền tham chiếu:
    khi truyền tham chiếu, giá trị của biến trong thân hàm đổi thay thì giá trị của biến ngoài thân hàm cũng đổi thay. Thường thì ta dùng truyền tham chiếu khi muốn trả ra đa dạng giá trị (thông thường lệnh return chỉ trả ra 1 giá trị - với php bạn có thể trả ra kết quả của hàm ở dạng mảng [vì mảng trong php - các phần tử có thể nhận kiểu dữ liệu khác nhau, bởi thế mỗi phần tử của mảng là 1 giá trị xuất cần xuất ra] ) - hoặc biến được dùng có ý nghĩa toàn cục (thay đổi giá trị sau khi được gọi hàm) hoặc được dùng hài hòa 2 trường hợp trên.

    thí dụ 7: Khai báo hàm tính bình phương 1 số và truyền tham chiếu


    function square(&$x)

    $x = $x*$x;

    $x = 3;
    square($x);
    echo $x; // kết quả 9.
    GIÁ TRỊ MẶC ĐỊNH:
    đôi khi người ta dùng hàm mà quên không truyền giá trị và việc truyền giá trị chẳng hề là bắt buộc, để giảm thiểu lỗi xảy ra hoặc để chuyên dụng cho 1 mục đích khác (ví dụ trả ra 1 kết quả mặc định thì xuất thông báo cảnh báo) - dùng giá trị mặc định giúp cho việc giảm thiểu lỗi.

    định nghĩa giá trị mặc định:

    1
    arg = value; //value là 1 hằng số.
    thí dụ 8: định nghĩa hàm square() - tính bình phương - giá trị mặc định bằng 0

    function square($x = 0)

    return $x*$x;

    echo square();
    /*kết quả là 0 - nghĩa là giả dụ không truyền tham số vào, mặc định đối số truyền vào nhận giá trị 0*/
    TỔNG KẾT
    Hàm là 1 phần quan trọng trong php - xuyên suốt trong công đoạn khiến việc có php - bạn cần phải nắm vững. Trong chậm tiến độ cần phải nhớ các đặc điểm:

    • Từ bắt buộc của mình, mua hàm có công dụng tương ứng
    • Nhớ tên hàm (một bí quyết hơi, vì các editor có chức năng autocomplete)
    • Nhớ giá trị trả về của hàm (quan trọng)
    • Vị trí các đối số, kiểu giá trị của đối số (quan trọng)
    • Hàm tự định nghĩa hay đã có sẵn, thư viện can dự (nếu có)
    BÀI TẬP:
    - Viết ( định nghĩa ) hàm tính tổng của dãy số nâng cao dần đều: S = 1+2+3+4+...+n
    - Viết hàm tính chu vi hình chữ nhật, mặc định chiều dài = chiều rộng = 1

    Đáp Án
     
    Cùng đọc NỘI QUY DIỄN ĐÀN và ý thức thực hiện cùng BQT xây dựng cộng đồng thêm vững mạnh bạn nhé
    ***** Xin đừng Spam vì một diễn đàn trong sạch *****
Địa chỉ thu mua do cu ho chi minh uy tín, Official Premium Account Reseller Premiumkeystore.com Easily, Instant delivery & Trusted.

Chia sẻ trang này