Nhập giá trị trong php
Bất kì một ngôn ngữ lập trình nào đều có khái niệm biến và hằng số và php cũng không ngoại lệ, đây là kiến thức nền tảng trong lập trình mà hầu như lập trình viên nào cũng phải học đầu tiên. Nên trong bài này chúng ta sẽ đi tìm hiểu khái niệm thế nào là biến và hằng số. Show Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. 1. Chương trình "Hello World"Khi bạn học một ngôn ngữ bất kì thì chương trình in ra màn hình chữ “Hello World!” luôn là bài tập đầu tiên mà bạn phải làm. Để xuất một chuỗi ra màn hình bạn dùng cú pháp lệnh sau: Bài viết này được đăng tại [free tuts .net] Ví dụ: Xuất ra dòng chữ “Chào Mừng Các Bạn Đến Với freetuts.net” Bước 1: Bạn mở Server Vertrigo lên, nếu bạn chưa biết nó là gì thì đọc bài này “Hướng dẫn cài đặt Vertrigo Server ”. Bước 2: Bạn tạo file Bước 3: Theo quy tắc ở trên ta sẽ làm như sau: Hoặc Sự khác biệt ở 2 đoạn mã này là đoạn thứ nhất mình khai báo biến và dùng dấu nháy đơn để bao quanh chuỗi, còn đoạn thứ 2 mình dùng dấu nháy kép, cả 2 đều có kết quả tương đương nhau nhưng luận về tốc độ thì dấu nháy đơn sẽ chạy nhanh hơn dấu nháy kép vì với dấu nháy kép trình biên dịch sẽ mất thêm một bước kiểm tra chuỗi bên trong có biến nào không. Bước 4: Mở trình duyệt gõ vào đường dẫn 2. Ghi chúTrong dòng lệnh code php đôi khi ta muốn thêm những lời giải thích ý nghĩa của dòng lệnh đó để sau này nhìn vào dễ hiểu hơn. Nhưng với trình biên dịch thì nó sẽ chạy tất cả các đoạn code nằm bên trong thẻ mở PHP hỗ trợ cho chúng ta hai cách để ghi chú đó là:
Ví dụ: 3. Khai báo biến số trong phpBiến là một định danh, nó dùng để lưu trữ các giá trị và nó có thể dùng phép gán để thay đổi giá trị. Cú pháp của biến bắt đầu bằng dấu đô la Ví dụ: PHP là một ngôn ngữ có phân biệt chữ hoa chữ thường. Ví dụ: Gán giá trị cho biếnĐể gán giá trị cho biến ta dùng toán tử phép gán Ví dụ: 4. Hiển thị giá trị của biên ra màn hìnhThay vì xuất trực tiếp chuỗi thì ta xuất giá trị của biến ra màn hình. Ví dụ: 5. Khai báo hằngHằng cũng là một biến nhưng bạn không thể thay đổi giá trị của nó. Tuy nhiên cách khai báo biến và hằng số thì lại khác nhau. Cú Pháp: Trong đó:
6. Lời kếtTrong bài này tôi hy vọng các bạn hiểu được cách khai báo và sử dụng biến và hằng số trong ngôn ngữ php, đây là nền tảng để các bạn có thể theo dõi các bài tiếp theo nên tôi mong các bạn nắm vững trước khi next qua bài mới nhé. Bài tiếp theo chúng ta sẽ tìm hiểu các kiểu dữ liệu trong php. AN TÂM ĐỨC - ĐÀO TẠO LẬP TRÌNH & THIẾT KẾ WEBSITE Với chủ trương giúp các bạn không bị rơi vào “mê hồn trận” của những đoạn mã trộn lẫn lộn HTML+CSS+JavaScript+SQL+PHP, tôi cố gắng không đồng nhất việc nhập dữ liệu vào PHP với việc truyền dữ liệu thông qua trình duyệt (cũng như việc xuất dữ liệu ra màn hình với việc “trả về dữ liệu HTML cho trình duyệt”). Hiểu điều này sẽ rất có lợi cho các bạn ở bài học kế, khi chúng ta bắt đầu “nhúng” mã PHP vào trong trang web. Để cho phép người dùng đưa một giá trị từ bàn phím vào chương trình PHP, các bạn sử dụng cách thức như sau:
Dòng màu cam là cú pháp để chờ người dùng nhập dữ liệu vào từ bàn phím (kết thúc bởi phím Enter). Bạn chưa và không cần tìm hiểu đoạn mã phía sau dấu = đâu, chỉ cần chú ý$data là tên biến nhận giá trị mà người dùng nhập vào. Bạn có thể thay $data bằng bất cứ tên biến nào mà bạn thích. Kết quả chạy chương trình: Ví dụ sau minh hoạ chương trình tính tổng 2 số bất kì nhập vào từ bàn phím:
Kết quả chạy chương trình như sau:
Để bắt đầu, chúng ta cùng nghiên cứu thắc mắc của bạn Phương (phù thuỷ lãng quên thời gian) trong bài tập trước:
Để trả lời câu hỏi này, bạn Phương cần biết đến khái niệm “hằng”. Ở bài học trước, chúng ta đã nghiên cứu về biến và cách gán giá trị cho biến ($a = 5 chẳng hạn). Trong khi biến là những giá trị biến thiên, có thể thay đổi được thì hằng là một giá trị cố định, không thay đổi được sau lần định nghĩa và gán giá trị đầu tiên. Hằng phân biệt với biến ở chỗ không có dấu $ đằng trước. Để định nghĩa một hằng, các bạn dùng cú pháp như sau: define(Pi, 3.141592654);
Tương tự như với biến, tên Hằng phân biệt chữ Hoa chữ thường và kiểu dữ liệu của Hằng phụ thuộc vào giá trị mà nó đang nắm giữ. Dòng 3 định nghĩa Hằng tên Pi (P viết Hoa và i viết thường), vì thế chỉ có truy xuất Pi mới cho ra giá trị 3.141592654 trong khi các truy xuất pi, pI và PI cho ra giá trị trùng với tên hằng. Đó là vì, khi bạn truy xuất đến một “hằng” chưa được định nghĩa và gán giá trị, PHP sẽ trả về đúng giá trị của chuỗi ký tự mà bạn đang truy xuất. Đó là lý do trong đoạn code mà bạn Phương mang ra “thí nghiệm”:
PHP sẽ diễn dịch rằng bạn Phương muốn khai báo một biến $a và gán cho biến $a này giá trị của một hằng tên là aaakkkdfddd. Tuy nhiên, do aaakkkdfddd chưa được định nghĩa từ trước như một tên hằng, nên PHP trả về chuỗi aaakkkdfddd và gán giá trị chuỗi này cho biến $a. Tức là, đoạn code trên của Phương sẽ tương đương với:
Tôi hiểu bạn Phương đang muốn thử gán cho $a một chuỗi nhưng bạn quên đưa dấu nháy đơn ‘ hoặc dấu nháy kép vô phần định nghĩa chuỗi. Nhưng PHP – như tôi đã nói – không đủ thông minh để phán đoán bạn muốn làm gì, nó chỉ đơn thuần thông dịch đúng từ trên xuống từ trái qua phải và vô tình đoạn code của bạn không bị “báo lỗi” khai báo sai cú pháp dữ liệu string! Tuy nhiên, khi bạn viết tiếp thế này:
Thì PHP báo lỗi. Vì nó đã không “vô tình đúng” như ở ví dụ trên nữa rồi. Giả sử chúng ta thêm một dấu ; vào vị trí khoảng trắng thì chương trình sẽ hết lỗi ngay: Do $a=gfgdigdj; được hiểu như một phép gán giá trị của hằng gfgdigdj vào cho biến $a còngbhdug; được coi như một biểu thức… không làm gì hết! (Giống như ở bài 2, tôi đề cập việc bạn có thể ghi 1; $a; $b; thì PHP vẫn coi là đúng, nó đơn thuần sẽ “chạy qua” mà không làm gì cả). Tại sao PHP đã có biến lại còn phải “đẻ ra” hằng? Sau này học về hàm (funtions) bạn sẽ biết sự khác nhau giữa hằng và biến khi được triệu gọi trong và ngoài hàm. Còn hiện tại, tôi chỉ đơn thuần thông qua thắc mắc của bạn Phương để giới thiệu khái niệm Hằng. Là một khái niệm rất lạ của PHP, tôi không biết phải định nghĩa thế nào cho chuẩn xác, nhưng qua một ví dụ đơn giản thế này, các bạn sẽ hình dung được:
Có thể hiểu rằng khi gặp $$a, PHP sẽ trả về giá trị của $a trước nhất. Khi này $$a = ${$a} = ${MeoMun} = $MeoMun Mà $MeoMun = ‘Nguyen Ngoc Long’ nên giá trị cuối cùng chúng ta nhận được sẽ làNguyen Ngoc Long Mới nhìn thì bạn sẽ thấy rằng khái niệm này có vẻ hơi rắc rối và vô nghĩa, nhưng nó lại vô cùng hữu ích trong một vài trường hợp (ví dụ sau này học nâng cao, bạn có thể dùng biến-biến để phát sinh phương thức động của một đối tượng). Bài tập 5.1 Hãy giải thích tại sao trong ví dụ tính tổng 2 số, khi hiển thị kết quả ra màn hình, dấu + sau 34 và dấu = sau 56 lại bị rơi xuống hàng dưới? Hãy sửa lại source code để kết quả in ra “đẹp hơn” như sau: Bài 5.2 Viết chương trình thực hiện các việc sau:
Bài 5.3 Viết chương trình nhập họ tên và ngày, tháng, năm sinh của người sử dụng (4 lần nhập riêng rẽ), sau đó in ra màn hình ngày tháng năm sinh của họ dưới dạng D/M/YYYY và cho biết họ hiện được bao nhiêu tuổi. Ví dụ người dùng tên Long, ngày sinh = 4; tháng = 11; năm = 1983, viết ra “Xin chào Long, bạn sinh ngày 4/11/1983. Năm nay bạn được 27 tuổi”. Bài 5.4 Viết chương trình tính thể tích hình lập phương với số đo một cạnh nhập từ bàn phím. |