1. Trang chủ
  2. » Công Nghệ Thông Tin

PHP CƠ BẢN pot

17 110 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 101,68 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

PHP 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 2

b 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 3

2 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 4

C 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 6

Hiể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 8

E 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 9

3 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 10

c 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 11

e 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 12

f 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 13

4 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 14

5 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 15

Cá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ụ

Ngày đăng: 14/08/2014, 16:20

Xem thêm