Chèn lệnh php vào trang HTML hoặc hoặc đây là dạng vắn tắt của hoặc echo"text cần hiển thị - cả các thẻ định dạng chúng"; hoặc Me chua... Kiểu boolean Kiểu boolean nhận 1 trong
Trang 1PHP CƠ BẢN
1 Các cú pháp cơ bản:
a Chèn lệnh php vào trang HTML
<?php
echo("text cần hiển thị - cả các thẻ định dạng chúng");
?>
hoặc
<?
echo("text cần hiển thị - cả các thẻ định dạng chúng");
?>
hoặc
<?= expression ?>
đây là dạng vắn tắt của
<? echo expression ?>
hoặc
<script language="php">
echo("text cần hiển thị - cả các thẻ định dạng chúng");
</script>
hoặc
<?php
if ($điều_kiện) {
?>
<strong>Me chua.</strong>
<?php
} else {
?>
<strong>Khế ngọt.</strong>
<?php
}
?>
Trang 2b Tách lệnh
<?php
echo "This is a test";
?>
tương đương với
<?php echo "This is a test" ?>
b Chú thích
<?php
echo "This is a test"; //Đây là chú thích trên 1 dòng /*Đây là chú thích
trên nhiều dòng */
?>
Trang 32 Các kiểu dữ liệu:
a Kiểu boolean
Kiểu boolean nhận 1 trong 2 giá trị TRUE hoặc FALSE
<?php
$foo = True; //gán giá trị TRUE cho biến $foo
?>
Để ép kiểu dữ liệu về kiểu boolean, ta dùng (bool) hoặc (boolean)
Trong đa số trường hợp, ta không cần ép kiểu, các cấu trúc, các toán tử, các hàm sẽ tự động chuyển khi chúng yêu cầu đối số kiểu boolean
Một số trường hợp nhận được giá trị FALSE
integer 0 (zero)
float 0.0 (zero)
Xâu rỗng string, và xâu "0"
Mảng không chứa phần tử nào
Một đối tượng không có các biến thành viên (các trường)
Kiểu NULL (cả các biến không được gán giá trị)
b Kiểu integer
<?php
$a = 1234; // số nguyên hệ 10
$a = -123; // số âm
$a = 0123; // số hệ 8
$a = 0x1A; // số hệ 16, tương đương với 26 trong hệ 10)
?>
C số thực
<?php
$a = 1.234;
$b = 1.2e3; //1200
$c = 7E-10;
?>
Trang 4C Xâu kí tự
Xâu kí tự sử dụng dấu nháy đơn ‘ và ’
<?php
echo 'this is a simple string';
echo 'You can also have embedded newlines in strings this way as it
is okay to do';
// Outputs: Arnold once said: "I'll be back"
echo 'Arnold once said: "I\'ll be back"';
// Outputs: You deleted C:\*.*?
echo 'You deleted C:\\*.*?';
// Outputs: You deleted C:\*.*?
echo 'You deleted C:\*.*?';
// Outputs: This will not expand: \n a newline
echo 'This will not expand: \n a newline';
// Outputs: Variables do not $expand $either
echo 'Variables do not $expand $either';
?>
Hiển thị các kí tự đặc biệt
\n xuống dòng và về đầu dòng
\" Hiển thị ”
(Thọ: muốn sử dụng các chức năng trên phải dùng thẻ <BR/> Vd: echo “ai đó <br/> \n”)
D Mảng
Cú pháp
array( [khoá =>] giá_trị
,
)
// khoá có thể là integer hoặc string
Trang 5// giá_trị có thể là giá trị bất kỳ
ví dụ:
<?php
$arr = array("foo" => "bar", 12 => true);//$arr là biến kiểu mảng echo $arr["foo"]; // bar
echo $arr[12]; // 1
?>
Mảng 2 chiều
<?php
$arr = array( "somearray" => array( 6 => 5 , 13 => 9 , "a" => 42 ));
echo $arr["somearray"][6]; // 5
echo $arr["somearray"][13]; // 9
echo $arr["somearray"]["a"]; // 42
?>
Tự động chỉ số mảng tăng lên 1
<?php
// This array is the same as
$arr = array(5 => 43, 32, 56, "b" => 12, 8=>90, 75, 80);
//$arr[5]<=> giá trị 43
//$arr[6]<=> giá trị 32
//$arr[7]<=> giá trị 56
//$arr[“b”]<=> giá trị 12
// tương đương với
array(5 => 43, 6 => 32, 7 => 56, "b" => 12);
?>
Thêm, bớt, thay đổi các phần tử trong mảng
<?php
$arr = array(5 => 1, 12 => 2);
$arr[] = 56; // This is the same as $arr[13] = 56;
// at this point of the script
$arr["x"] = 42; // This adds a new element to
unset($arr[5]); // loại bỏ phân tử có chỉ số 5 ra khỏi mảng
unset($arr); // This deletes the whole array (Xóa toàn b ộ mảng)
?>
Trang 6Hiển thị mảng, cập nhật chỉ số
<?php
// Create a simple array
$arr = array(1, 2, 3, 4, 5);
Cho kết quả
Arr
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
// xoá tất cả các phân tử trong mảng nhưng vẫn giữ tên mảng
//Sau khi xoá => mảng rỗng
foreach ($array as $i => $value) {
unset($array[$i]);
}
print_r($array);//hiển thị lại sau khi đã loại bỏ các phần tử
// Append an item (note that the new key is 5, instead of 0 as you // might expect)
$array[] = 6;
print_r($array);
// Re-index:
$array = array_values($array);
$array[] = 7;
print_r($array);
?>
Kết quả nhận được
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
Array
(
)
Array
(
Trang 7[5] => 6
)
Array
(
[0] => 6
[1] => 7
)
Có thể loại bỏ phần tử và đánh lại chỉ mục bằng cách sử dụng
<?php
$a = array(1 => 'one', 2 => 'two', 3 => 'three'); unset($a[2]); //Loại bỏ phần tử có chỉ số 2 /* Các phần tử còn lại sẽ là
$a = array(1 => 'one', 3 => 'three');
chú không phải
$a = array(1 => 'one', 2 =>'three');
*/
$b = array_values($a);
// Now $b is array(0 => 'one', 1 =>'three')
?>
Lỗi hay gặp khi truy cập và hiển thị các phần tử trong mảng
<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('html_errors', false);
// Simple array:
$array = array(1, 2);
$count = count($array);
for ($i = 0; $i < $count; $i++) {
echo "\nChecking $i: \n";
echo "Bad: " $array['$i'] "\n";
echo "Good: " $array[$i] "\n";
echo "Bad: {$array['$i']}\n";
echo "Good: {$array[$i]}\n";
}
?>
Còn nhiều vấn đề khác liên quan đến mảng, đề nghị tra cứu tài liệu
Trang 8E Khai báo và khởi tạo các đối tượng
<?php
class foo
{
function do_foo()
{
echo "Doing foo.";
}
}
$bar = new foo;
$bar->do_foo();
?>
Chuyển về kiểu đối tượng
<?php
$obj = (object) 'ciao';
echo $obj->scalar; // outputs 'ciao'
?>
F Kiểu NULL
Một biến có thể nhận giá trị NULL nếu:
• Nó được gán giá trị NULL
• Nó không được gán giá trị náo cả
• Ta đã dùng unset() với biến đó
Trang 93 Biến:
a Khai báo biến
Biến trong Java bắt đầu bằng $, phân biệt chữ hoa và chữ thường
<?php
$var = "Bob";
$Var = "Joe";
echo "$var, $Var"; // outputs "Bob, Joe"
$4site = 'not yet'; // invalid; starts with a number
$_4site = 'not yet'; // valid; starts with an underscore
$täyte = 'mansikka'; // valid; 'ä' is (Extended) ASCII 228
?>
Ta có thể gán lại giá trị cho biến thông qua tham chiếu (chỉ có các biến)
<?php
$foo = 'Bob'; // Assign the value 'Bob' to $foo
$bar = &$foo; // Reference $foo via $bar
$bar = "My name is $bar"; // Alter $bar
echo $bar;
echo $foo; // $foo is altered too
?>
b Các biến đã được định trước
$_GET dùng để lấy thông tin thông qua HTTP GET
$_POST dùng để lấy thông tin thông qua HTTP POST
$_COOKIE dùng để lấy thông tin cookie của HTTP
$_SESION dùng để lấy thông tin phiên làm việc
$_REQUEST dùng để lấy thông tin của POST, GET, COOKIE
Các biến khác các bạn tra cứu trong tài liệu
Trang 10c Phạm vi của biến
<?php
$a = 1; /* biến $a có phạm vi toàn cục*/ function Test()
{ $b = 5; /*biến $b có phạm vi cục bộ*/
echo $a;
echo $b;
}
Test();
?>
d Từ khoá global
<?php
$a = 1;
$b = 2;
function Sum()
{
global $a, $b;
$b = $a + $b;
}
Sum();
echo $b;
?>
Có thể sử dụng $GLOBALS thay cho global
<?php
$a = 1;
$b = 2;
function Sum()
{
$GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"]; }
Sum();
echo $b;
?>
Trang 11e Biến static
<?php
function Test ()
{
$a = 0;
echo $a;
$a++;
}
?>
Trong ví dụ này, giá trị biến $a được gán 0 mỗi khi gọi hàm, sau đó tăng lên 1
<?php
function Test()
{
static $a = 0;
echo $a;
$a++;
}
?>
Trong ví dụ này, giá trị biến $a được giữ và chuyển giữa các lời gọi hàm
Dự đoán kết quả của đoạn lệnh:
<?php
function Test()
{ static $count = 0;
$count++;
echo $count '<br>';
if ($count < 10) {
Test ();
}
$count ;
}
Test();
?>
Trang 12f Biến của biến
<?php
$a = "hello";
?>
Biến $a được gán xâu “hello”
<?php
$$a = "world";
?>
Trong khái báo này, lấy giá trị biến $a để đặt tên biến mới và gán cho biến đó giá trị “world”, tưưong đương với:
<?php
$a = "hello";
$hello = "world";
?>
Hai cách hiển thị dưới đây là tương đương nhau
<?php
echo "$a ${$a}";
?>
tương đương với
<?php
echo "$a $hello";
?>
Trang 134 Các toán tử:
Các toán tử trong php giống các toán tử trong C, Java, ở đây không đề cập lại Các bạn tự tra tài liệu Ở đây chỉ đề cập các toán tử không có trong xâu kí tự
Toán ghép xâu
<?php
$a = "Hello ";
$b = $a "World!"; // now $b contains "Hello World!"
$a = "Hello ";
$a = "World!"; // now $a contains "Hello World!"
?>
Trang 145 Các cấu trúc điều khiển:
a if
<?php
if ($a > $b)
echo "a is bigger than b";
?>
<?php
if ($a > $b) {
echo "a is bigger than b";
$b = $a;
}
?>
b if….else
<?php
if ($a > $b) {
echo "a is bigger than b"; } else {
echo "a is NOT bigger than b"; }
?>
c if…elseif
<?php
if ($a > $b) {
echo "a is bigger than b"; } elseif ($a == $b) {
echo "a is equal to b";
} else {
echo "a is smaller than b"; }
?>
Trang 15Cách viết khác:
<?php if ($a == 5): ?>
A is equal to 5
<?php endif; ?>
<?php
if ($a == 5):
echo "a equals 5";
echo " ";
elseif ($a == 6):
echo "a equals 6";
echo "!!!";
else:
echo "a is neither 5 nor 6";
endif;
?>
d while
while (expr) statement
hoặc
while (expr): statement endwhile;
Hai ví dụ dưới đây tương đương nhau, hiển thị các số từ 1 đến 10
<?php
/* example 1 */
$i = 1;
while ($i <= 10) {
echo $i++; /* the printed value would be
$i before the increment (post-increment) */
}
Trang 16/* example 2 */
$i = 1;
while ($i <= 10):
echo $i;
$i++;
endwhile;
?>
e do…while
<?php
$i = 0;
do {
echo $i;
} while ($i > 0);
?>
f for
for (expr1; expr2; expr3) statement
Cả 4 ví dụ dưới đây là tương đương nhau
<?php
/* example 1 */
for ($i = 1; $i <= 10; $i++) {
echo $i;
}
/* example 2 */
for ($i = 1; ; $i++) {
if ($i > 10) {
break;
}
echo $i;
}
Trang 17/* example 3 */
$i = 1;
for (; ; ) {
if ($i > 10) {
break;
}
echo $i;
$i++;
}
/* example 4 */
for ($i = 1; $i <= 10; echo $i, $i++);
?>
Ta cũng có thể sử dụng cú pháp:
for (expr1; expr2; expr3): statement; ; endfor;
g foreach
foreach (array_expression as $value) statement
foreach (array_expression as $key => $value) statement
ví dụ