Tiếp theo bài học khai báo biến và hằng số trong php thì chúng ta sẽ học bài các kiểu dữ liệu trong php. Trong bài này chúng ta sẽ tìm hiểu tất cả các kiểu dữ liệu, trừ kiểu dữ liệu trừu tượng ( trừu tượng hóa dữ liệu ) vì đây là kiến thức lập trình hướng đối tượng.

Trong php có tổng cộng 7 kiểu dữ liệu:

  • Kiểu INT
  • Kiểu Boolean
  • Kiểu Số Thực (float, double)
  • Kiểu Chuỗi
  • Kiểu Mảng (array)
  • Kiểu NULL
  • Kiểu Đối Tượng (object)

Nội dung chính

  • 1. Kiểu dữ liệu INT
    • Khai báo biến kiểu INT
    • Ép dữ liệu sang kiểu INT
    • Kiểm tra dữ liệu có phải kiểu INT.
  • 2. Kiểu dữ liệu boolean
    • Ép dữ liệu sang kiểu boolean.
    • Kiểm tra một biến kiểu boolean
  • 3. Kiểu số thực
    • Ép dữ liệu sang kiểu số thức.
    • Kiểm tra một biến kiểu số thực.
  • 4. Kiểu chuỗi
    • Kiểm tra một biến kiểu string
  • 5. Kiểu mảng (array)
    • Khởi tạo và truy xuất các hần tử trong mảng
    • Mảng có chỉ mục
    • Mảng kết hợp
    • Mảng một chiều
    • Mảng nhiều chiều
    • Kiểm tra một biến kiểu mảng
  • 6. Kiểu giá trị Null
    • Kiểm tra một biến có giá trị null
  • 7. Kiểu Object (đối tượng)
  • 8. Kết thúc bài học

1. Kiểu dữ liệu INT

Chữ INT là viết tắt của chữ INTEGER, là một kiểu dữ liệu dạng số và có thể ở viết ở nhiều cơ số khác nhau.

Ví dụ 1:

1
2
3
4
5
6
<?php
$thap_phan = 123; // Số thập phân
$so_am = -123; // Số âm
$bat_phan = 0123; // số bát phân
$thap_luc_phan = 0x1A; // và số thập lục phân
?>

 

Kiểu số INT Chúng ta không dùng dấu nháy để bao quanh nó và kích thước của kiểu INT là 32bit. Trong PHP không hỗ trợ nhiều kiểu Unsigned Integer (Số nguyên dương) nên nếu bạn sử dụng vượt quá giới hạn của nó thì mặc nhiên trình biên dịch sẽ hiểu đây là kiểu Float (số thực), tuy nhiên không phải lúc nào điều này cũng đúng cho trường hợp số dương.

Khai báo biến kiểu INT

Để khai báo một biến kiểu INT bạn sẽ gán giá trị cho nó là số nguyên (kể cả số âm).

Ví dụ 2:

 

1
2
3
<?php
$tuoi = 12; // biến $tuoi là kiểu INT có giá trị = 12
?>

 

Ép dữ liệu sang kiểu INT

Cú Pháp(int)$ten_bien;

Ví dụ 3:

 

1
2
3
4
<?php
$tuoi = '98'; // biến tuổi là một chuỗi có giá trị bằng '98'
$tuoi = (int)$tuoi; // lúc này biến $tuoi là một kiểu int có giá trị 98
?>

 

Việc chuyển đổi này trong PHP đôi khi lại không cần thiết vì các kiểu dữ liệu trong php tự động chuyển các biến sang các kiểu thích hợp để thực hiện phép tính, tuy nhiên sau khi thực hiện tính toán thì biến đó sẽ tự chuyển lại kiểu dữ liệu ban đầu.

Ví dụ 4:

 

1
2
3
4
5
6
7
<?php
$a = '123'// Biến $a là kiểu chuỗi có giá trị bằng '123'
$b = 123; // Biến $b là kiểu INT có giá trị bằng 123
$c = $a + $b; // Biến C là kết quả của phép toán $a + $b và sẽ có giá trị là 246 nên nó là kiểu INT
var_dump(is_int($c)); // hàm is_int($tenbien) dùng để kiểm tra một biến có phải là kiểu INT hay không
var_dump(is_int($a)); // kết quả là false vì biến $a là kiểu string
?>

 

Trong ví dụ này các bạn thấy biến $a là chuỗi còn biến $b là số, khi ta cộng 2 biến lại thì các biến sẽ tự động chuyển sang kiểu số INT thích hợp để cộng, và kết quả là kiểu INT gán vào biến $c. Để kiểm tra bạn dùng dòng lệnh var_dump(is_int($c));để xuất ra màn hình kết quả kiểm tra.

Ví dụ 5:

 

1
2
3
4
5
<?php
$a = 'a123'; // biến $a có giá trị là chuỗi 'a123'
$a = (int)$a; // chuyển $a sang kiểu INT
echo $a; // kết quả xuất ra màn hình là số 0
?>

 

Chạy đoạn lệnh này các bạn sẽ thấy kết quả ra số 0. Tại sao? vì bạn thấy biến $a có ký tự đầu tiên không phải ở dạng số nên nó sẽ tự động cắt bỏ tất cả những ký tự đằng sau ký tự a nên chuỗi này rỗng, mà giá trị rỗng chuyển sang kiểu INT có giá trị bằng không.

Ví dụ 6:

 

1
2
3
4
5
<?php
$a = '123a'; // biến $a có giá trị là chuỗi '123a'
$a = (int)$a; // chuyển $a sang kiểu INT
echo $a; // kết quả xuất ra màn hình là số 123
?>

 

Chạy đoạn code này kết quả xuất ra màn hình là 123, cũng như giải thích ở trên nó sẽ xóa các ký tự bắt đầu từ ký tự a nên chuỗi sẽ còn ’123′, chuyển sang kiểu INT  thành 123.

Kiểm tra dữ liệu có phải kiểu INT.

Để kiểm tra một biến nào đó có phải kiểu INT không bạn dùng 2 hàm is_int($bien) hoặc is_integer($bien). kết quả trả về giá trị True nếu là kiểu INT và False nếu không phải kiểu INT.

2. Kiểu dữ liệu boolean

Đây là một kiểu dữ liệu đơn giản nhất trong các kiểu dữ liệu trong PHP, nó chỉ chứa 2 giá trị là đúng hoặc sai (TRUE hoặc FALSE). Để tạo biến kiểu boolean thì  bạn gán giá trị cho nó là TRUE hoặc FALSE. Lưu ý  TRUE, FALSE  không phân biệt hoa thường, nghĩa là bạn gõ thế nào cũng được miễn là đúng.

Ví dụ 7:

1
2
3
<?php
$is_admin = false; // biến $admin là kiểu boolean có gái trị là false
?>

 

Ép dữ liệu sang kiểu boolean.

Tương tự như kiểu INT bạn sử dụng (bool) hoặc (boolean) để ép kiểu sang kiểu bool. Như vậy trong PHP thì bool và boolean là 2 từ khóa có cùng một ý nghĩa.

Ví dụ 8:

 

1
2
3
4
5
6
<?php
$bool = 1; // biến $bool là kiểu int
$bool = (bool)$bool; // lúc này biến $bool sẽ có kiểu boolean
// Hoặc
$bool = (boolean)$bool; // lúc này biến $bool sẽ có kiểu boolean
?>

 

Các ký tự 0, ký tự trống và null đều được quy về giá trị FALSE, các ký tự còn lại quy về TRUE. Việc chuyển đổi này đôi khi cũng không cần thiết vì php tự xem xét giá trị và quy về TRUE hay FALSE.

Ví dụ 9:

 

1
2
3
4
5
6
7
8
<?php
$a = 123; // TRUE
$b = 0; // FALSE
$c = '0'; // FALSE
$d = 'a123b' // TRUE
$e = null; // FALSE
$f = ''; // FALSE
?>

 

Kiểm tra một biến kiểu boolean

Để kiểm tra một biến có phải kiểu boolean bạn dùng hàm is_bool($bien);để kiểm tra, kết quả của hàm này trả về TRUE nếu là kiểu bool, ngược lại là false nếu không phải kiểu bool.

3. Kiểu số thực

Hiểu một cách nôm na kiểu số thực là những số có phần dư, còn kiểu INT là những số không dư phần nào, như số 1.234 là kiểu số thực, 1234 là kiểu số nguyên (INT). Kích cỡ của nó phụ thuộc xác định phụ thuộc vào từng platform nhưng giá trị lớn nhất xấp xỉ 1.8e308, các kiểu dữ liệu trong php của kiểu số thực gồm có kiểu float, double.

Ví dụ 10:

 

1
2
3
<?php
$a = 1.234; // Kiểu số thực
?>

 

Ép dữ liệu sang kiểu số thức.

Bạn dùng (float), (double) để chuyển kiểu dữ liệu sang số thực cho một biến

Ví dụ 11:

 

1
2
3
4
5
<?php
$a = 123; // biến $a kiểu int
$a = (float)$a; // Biến $a lúc này kiểu số thực (float)
$a = (double)$a; // Biến $a lúc này kiểu ố thực (double)
?>

 

Kiểm tra một biến kiểu số thực.

Để kiểm tra một biến phải kiểu số thực không bạn dùng hàm is_float($bien) để kiểm tra cho kiểu float, is_double($bien) để kiểm tra cho kiểu double. Kết quả 2 hàm này trả về TRUE nếu đúng, FALSE nếu sai.

4. Kiểu chuỗi

Các kiểu dữ liệu trong php thì kiểu chuỗi mình gồm  kiểu string (chuỗi) và char (ký tự), mỗi ký tự là  1 byte và là một trong 256 ký tự khác nhau, để khai báo báo các bạn chỉ việc khai báo một biến và gán giá trị chuỗi cho nó, chuỗi phải được bao quanh bằng dấu nháy đơn  hoặc dấu nháy kép . Ép kiểu cũng như trên ta dùng (string) để chuyển sang kiểu chuỗi.

Ví dụ 12:

 

1
2
3
4
<?php
$a = 123; // khai báo biến $a kiểu int có giá trị 123
$a = (string)$a; //Chuyển biến $a thành kiểu chuỗi và có giá trị là '123'
?>

 

Kiểm tra một biến kiểu string

Để kiểm tra một biến kiểu chuỗi (string) ta dùng hàm is_string($bien), kết quả hàm này trả về TRUE nếu đúng và FALSE nếu không đúng.

Nếu bạn muốn tìm hiểu thêm về chuỗi thì có thể xem bài các hàm xử lý chuỗi trong php.

5. Kiểu mảng (array)

Mảng là danh sách  các phần tử có cùng kiểu dữ liệu và nó là một trong các kiểu dữ liệu trong php có độ phức tạp tính toán cao. Có 2 loại mảng là mảng một chiều hoặc mảng nhiều chiều. Riêng với PHP thì các phần tử của mảng có thể không cùng kiểu dữ liệuvà các phần tử của mảng được truy xuất thông qua các chỉ mục(vị trí) của nó nằm trong mảng.

Khởi tạo và truy xuất các hần tử trong mảng

Để khai báo mảng ta dùng cú pháp sau:

 

1
2
3
<?php
$ten_mang = array(); // khởi tạo một mảng gán vào biến $ten_mang
?>

 

Giả sử tôi có 2 sinh viên là Nguyễn Văn A và Nguyễn Văn B, giờ tôi sẽ khởi tạo một mảng $sinhvien để lưu 2 sinh viên này lại.

NOTE: Các bạn dùng hàm var_dump($mang); để in ra các phần tử của mạng để test trong quá trình học nhé. Hàm này có thể sử dụng được tất cả các kiểu dữ liệu trong php.

Cách 1:

 

1
2
3
4
<?php
$sinhvien = array('Nguyễn Văn A', 'Nguyễn Văn B');
print_r($sinhvien);
?>

 

Cách 2:

 

1
2
3
4
5
6
7
<?php
$sinhvien = array(
0 => 'Nguyễn Văn A',
1 => 'Nguyễn Văn B'
);
print_r($sinhvien);
?>

 

Cách 3:

 

1
2
3
4
5
6
<?php
$sinhvien = array();
$sinhvien[0] = 'Nguyễn Văn A';
$sinhvien[1] = 'Nguyễn Văn B';
print_r($sinhvien);
?>

 

Cách 4:

 

1
2
3
4
5
6
<?php
$sinhvien = array();
$sinhvien[] = 'Nguyễn văn A';
$sinhvien[] = 'Nguyễn Văn B';
print_r($sinhvien);
?>

 

Cả 4 cách đều có kết quả giống nhau nhưng cú pháp lại khác nhau.

Mảng có chỉ mục

Là mảng có các phần tử được định danh một chỉ mục (kiểu số) và bắt đầu bằng số 0 và phần tử cuối cùng có chỉ mục là (n-1), trong đó n là tổng số phần tử của mảng. Điều này có nghĩa nếu mảng của bạn có 10 phần từ thì lần lượt các vị trí phần tử trong mảng là: [0] – [1] – [2] – [3] – [4] – [5] – [6] – [7] – [8] – [9]

Quay lại 4 cách giải của ví dụ trên:

Với cách 1: Bạn khởi tạo một mảng và gán trực tiếp 2 phần từ vào, vì mảng bắt đầu từ 0 nên nó tự hiểu phần tử đầu tiên có chỉ mục =0, và phần tử thứ 2 = 1.

Với cách 2: Bạn khởi taọ một mảng và gán trực tiếp 2 phần tử vào, nhưng lúc gán bạn có ghi rõ các chỉ mục cho từng phần tử.

Với cách 3: Ban khởi tạo một mảng rỗng. sau đó bạn dùng 2 lệnh để gán 2 phần tử vào, mỗi lệnh gán bạn có chỉ rõ chỉ mục.

Với cách 4: Bạn khởi tạo một mảng rỗng, sau đó bạn dùng 2 lệnh gán 2 phần tử vào nhưng bạn lại không chỉ rõ chỉ mục, lúc này PHP sẽ kiểm tra thấy mảng đang rỗng nên phần tử đầu tiên nó sẽ mặc định gán chỉ mục = 0, và phần tử tiếp theo sẽ bằng phần tử trước nó + 1 tức là sẽ = 1.

Để truy xuất các phần tử của mảng chỉ mục ta dùng cú pháp sau: $tenmang[$index]; trong đó $index là chỉ mục bạn muốn lấy.

Ví dụ 14:

 

1
2
3
4
5
6
7
8
<?php
$sinhvien = array(
0 => 'Nguyễn Văn A',
1 => 'Nguyễn Văn B'
);
echo $sinhvien[0]; // Xuất ra màn hình phần tử 0 => Nguyễn Văn A
echo $sinhvien[1]; // Xuất ra màn hình phần tử 1 => Nguyễn Văn B
?>

 

Mảng kết hợp

Là Mảng có các phần tử được định danh bằng một cái tên và đương nhiên vị trí các phần tử sẽ không có thứ tự.

Ví dụ 15:

 

1
2
3
4
5
6
7
<?php
$sinhvien = array(
'sinhvien_a' => 'Nguyễn Văn A',
'sinhvien_b' => 'Nguyễn Văn B'
);
print_r($sinhvien);
?>

 

Tương tự như những ví dụ ở phần mảng có chỉ mụcmình có thêm cách khai báo.

 

1
2
3
4
5
6
<?php
$sinhvien = array();
$sinhvien['sinhvien_a'] = 'Nguyễn Văn A';
$sinhvien['sinhvien_b'] = 'Nguyễn Văn B';
print_r($sinhvien);
?>

Xét ví dụ sau:

1
2
3
4
5
6
<?php
$sinhvien = array();
$sinhvien['sinhvien_a'] = 'Nguyễn Văn A';
$sinhvien['sinhvien_b'] = 'Nguyễn Văn B';
print_r($sinhvien);
?>

 

Trong ví dụ này điều đặc biệt là lúc gán sinh viên Nguyễn Văn B ta không truyền tên cho nó mà chỉ dùng dấu [] để thêm vào. Điều gì sẽ xảy ra? Câu trả lời như sau: Trình biên dịch sẽ chạy dòng thứ 1 khởi tạo một mảng rỗng, dòng thứ 2 thêm một phần tử cho mảng với tên sinhvien_a, dòng thứ 3 nó sẽ thấy ko có truyền chỉ mục nên nó sẽ lưu giá trị Nguyễn Văn B dưới dạng chỉ mục. Nó xét thấy trong mảng này chưa có chỉ mục nào (vì dòng 2 truyền dạng kết hợp), nên sinh viên Nguyễn Văn B sẽ được lấy chỉ mục = 0.

Việc truy xuất các phần tử trong mảng kết hợp cũng tương tự như mảng chỉ mục ta dùng cú pháp sau: $tenmang[$name], trong đó $name là tên của phần tử bạn muốn lấy ra.

Ví dụ 16:

1
2
3
4
5
6
7
<?php
$sinhvien = array();
$sinhvien['sinhvien_a'] = 'Nguyễn Văn A';
$sinhvien['sinhvien_b'] = 'Nguyễn Văn B';
echo $sinhvien['sinhvien_a']; // xuất ra màn hình sinh viên Nguyễn Văn A
echo $sinhvien['sinhvien_b']; // xuất ra màn hình sinh viên Nguyễn Văn B
?>

 

Mảng một chiều

Tất cả những ví dụ ở trên gọi là mảng 1 chiều (gồm mảng 1 chiều chi mục, mảng một chiều kết hợp)
Mảng một chiều

Mảng nhiều chiều

Là mảng có nhiều chỉ mục cho từng phần tử, ví dụ mảng 2 chiều thì mỗi phần tử có 2 chỉ muc, 3 chiều thì mỗi phần tử có 3 chỉ mục, …
Mảng nhiều chiều thực chất cũng chỉ là mảng 1 chiều nhưng được thể hiện dưới dạng nhiều chiều.

Xem hình minh họa mảng 2 chiều sau được biểu hiện bằng số dòng và số cột (nghĩa là 2 chiều giống trong hình học không gian 2 chiều), mỗi phần tử sẽ được định vị trí ở điểm giao nhau của chỉ số cột và dòng hiện tại.
mảng nhiều chiều
Ví dụ 17: thêm phần tử trong mảng 2 chiều:

1
2
3
4
5
<?php
$a = array();
$a[0][1] = 123;
$a[0][2] = 321;
?>

Ví dụ 18: truy xuất phần tử trong mảng 2 chiều:

1
2
3
4
5
6
7
<?php
$a = array();
$a[0][1] = 123;
$a[0][2] = 321;
echo $a[0][1]; // in ra giá trị 123
echo $a[0][2]; // in ra giá trị 321
?>

 

Kiểm tra một biến kiểu mảng

Để kiểm tra một biến có phải kiểu mảng (array) không ta dùng hàm is_array($bien), hàm này trả về TRUE nếu đúng và FALSE nếu không đúng.

Nêu bạn muốn tham khảo thêm về mảng thì có thể đọc bài các hàm xử lý mảng trong php.

6. Kiểu giá trị Null

Đây là kiểu đặc biệt trong PHP và cũng như các ngôn ngữ lập trình khác, nó mang giá trị rỗng.

Lúc bạn khởi tạo một biến và bạn gán = NULL thì sẽ hệ thông sẽ không tốn bộ nhớ để lưu trữ, nên việc sử dụng nó rất có lợi.

Kiểu NULL khi ép kiểu sang kiểu INT thì bằng 0, khi ép kiểu sang kiểu chuỗi thì = rỗng, và khi ép sang kiểu boolean thì mang giá trị FALSE.

Ví dụ 19:

1
2
3
4
5
6
<?php
$a = null; // Khởi tạo biến $a và gán giá trị null
$b = (int)$a; // Biến $b có giá trị là ( 0 )
$c = (string)$a; // Biến $c có giá trị rỗng ( '' )
$d = (bool)$a; // Biến $d có giá trị FALSE
?>

 

Kiểm tra một biến có giá trị null

Để kiểm tra một biến có giá trị null hay không ta dùng hàm is_null($bien). Biến này trả về TRUE nếu đúng và FALSE nếu không đúng.

7. Kiểu Object (đối tượng)

Riêng kiểu đối tượng (Object) thì nó liên quan đến kiến thức lập trình nâng cao nên tạm thời các bạn bỏ qua kiểu này nhé. Nếu bạn nào quan tâm thì có thể xem tại series php nâng cao.

8. Kết thúc bài học

Các bạn thấy các kiểu dữ liệu trong PHP rất là nhiều và cách sử dụng nó thật sự đơn giản hơn các kiểu dữ liệu trong ngôn ngữ lập trình khác. Hy vọng bài này sẽ là tiền đề để các bạn đam mê ngành lập trình web php. Bài tiếp theo chúng ta sẽ tìm hiểu toán tử và biểu thức trong php.

296 BÌNH LUẬN

  1. I’m not sure exactly why but this website is loading
    very slow for me. Is anyone else having this issue or is it a problem on my end?
    I’ll check back later and see if the problem still
    exists.

  2. Greetings from California! I’m bored to tears at work so I decided to browse
    your blog on my iphone during lunch break. I really like the knowledge you present here
    and can’t wait to take a look when I get home. I’m amazed at how fast
    your blog loaded on my cell phone .. I’m not even using WIFI, just 3G ..
    Anyways, great site!

  3. Your blogs continually include much of really up to date info. Where do you come up with this? Just stating you are very innovative. Thanks again

  4. Wow! This could be one particular of the most useful blogs We ave ever arrive across on this subject. Basically Excellent. I am also a specialist in this topic so I can understand your hard work.

  5. Sweet blog! I found it while searching on Yahoo News. Do you have any tips on how to get listed in Yahoo News? I ave been trying for a while but I never seem to get there! Many thanks

  6. It is difficult to uncover knowledgeable individuals inside this topic, however you be understood as guess what occurs you are discussing! Thanks

  7. magnificent post, very informative. I wonder why the other experts of this sector don at realize this. You should proceed your writing. I am sure, you have a huge readers a base already!

  8. Wow, superb blog layout! How long have you been blogging for? you make blogging look easy. The overall look of your website is wonderful, let alone the content!. Thanks For Your article about sex.

  9. Please forgive my English.It as really a great and helpful piece of information. I am glad that you shared this useful info with us. Please stay us informed like this. Thanks for sharing.

  10. You made some decent points there. I looked on the internet for more information about the issue and found most people will go along with your views on this website.

  11. Wow, amazing blog layout! How long have you been blogging for? you make blogging look easy. The overall look of your site is wonderful, as well as the content!

  12. Wow, wonderful blog layout! How long have you been blogging for? you make blogging look easy. The overall look of your website is great, let alone the content!. Thanks For Your article about sex.

  13. you are really a good webmaster. The website loading speed is amazing. It seems that you are doing any unique trick. Also, The contents are masterpiece. you have done a excellent job on this topic!

  14. You are my inspiration, I have few blogs and rarely run out from post . Analyzing humor is like dissecting a frog. Few people are interested and the frog dies of it. by E. B. White.

  15. IaаАа’б‚Т€ТšаЂаŒаАа’б‚Т€ТžаБТžve been absent for some time, but now I remember why I used to love this weblog. Thank you, I will try and check back much more often. How regularly you update your internet web site?

  16. hi!,I like your writing very so much! proportion we
    keep in touch extra approximately your post on AOL?
    I need a specialist on this area to resolve my problem.
    Maybe that’s you! Taking a look forward to peer
    you.

  17. Your style is so unique compared to other people
    I have read stuff from. Thanks for posting when you’ve got the opportunity, Guess I will just bookmark
    this site.

  18. I blog frequently and I really appreciate
    your content. Your article has really peaked my
    interest. I am going to book mark your website and keep
    checking for new details about once per week.
    I opted in for your Feed too.

  19. I was suggested this website by my cousin. I am not sure whether this post is written by him as nobody else know such detailed about my trouble. You are wonderful! Thanks!

  20. Thanks , I’ve recently been searching for info approximately this subject
    for ages and yours is the greatest I have found out
    so far. But, what about the conclusion? Are you certain in regards to the source?

  21. It’а†s in reality a nice and useful piece of info. I am glad that you just shared this useful info with us. Please stay us up to date like this. Thank you for sharing.

  22. Wow, awesome blog structure! How long have you ever been blogging for? you make blogging glance easy. The whole look of your web site is fantastic, as well as the content material!

  23. Superb points totally, you may attained a brand brand new audience. Precisely what may perhaps anyone suggest regarding your posting you made a couple of days before? Virtually any particular?

  24. You can definitely see your skills within the work you write. The arena hopes for even more passionate writers such as you who are not afraid to say how they believe. All the time go after your heart.

  25. Your style is so unique compared to other people I have read stuff from. Thank you for posting when you ave got the opportunity, Guess I all just book mark this site.

  26. This write-up contains fantastic original thinking. The informational content material here proves that issues arenaаАа’б‚Т€ТšаЂаŒаАа’б‚Т€ТžаБТžt so black and white. I feel smarter from just reading this.

  27. My brother suggested I might like this websiteHe was once totally rightThis post truly made my dayYou can not imagine simply how a lot time I had spent for this information! Thanks!

  28. Thank you for some other wonderful post. Where else may just anybody get that type of info in such an ideal way of writing? I have a presentation subsequent week, and I am on the search for such info.

  29. This is really interesting, You are a very skilled blogger. I have joined your feed and look forward to seeking more of your fantastic post. Also, I ave shared your website in my social networks!

  30. Wow, superb weblog format! How long have you ever been running a blog for? you make blogging look easy. The full look of your website is magnificent, let alone the content material!

  31. Wow, fantastic weblog format! How long have you been blogging for? you make running a blog look easy. The entire glance of your web site is great, let alone the content material!

  32. mac makeup sale cheap I think other site proprietors should take this site as an model, very clean and wonderful user friendly style and design, let alone the content. You are an expert in this topic!

  33. What i don’t realize is in reality how you’re now not really much more
    smartly-favored than you might be now. You are very intelligent.

    You know therefore significantly in terms of this subject,
    made me in my opinion consider it from numerous numerous angles.

    Its like men and women are not interested unless it’s one thing
    to accomplish with Woman gaga! Your individual
    stuffs nice. At all times maintain it up!

  34. Woah! I’m really enjoying the template/theme of this website.
    It’s simple, yet effective. A lot of times it’s challenging to
    get that “perfect balance” between superb usability and appearance.
    I must say that you’ve done a excellent job with this.
    In addition, the blog loads very quick for me on Firefox.
    Exceptional Blog!

THOÁT KHỎI BÌNH LUẬN

Please enter your comment!
Please enter your name here