So sánh dữ liệu trùng trong php năm 2024

PHP có tổng cộng tám loại dữ liệu được sử dụng cho các biến, các kiểu dữ liệu này thường được hiểu ngầm dựa vào giá trị của biến mà không cần phải khai báo. Để có thể học lập trình php chúng ta cần phải nắm vững các kiểu dữ liệu và toán tử của PHP.

  • Integers: là kiểu số nguyên, không có dấu thập phân, ví dụ 1234.
  • Doubles: là kiểu số thực, ví dụ 3.64576.
  • Booleans: chỉ có hai giá trị true hoặc false.
  • NULL: là một kiểu dữ liệu đặc biệt chỉ có một giá trị: NULL.
  • Strings: là chuỗi ký tự, giống như 'tôi học php'.
  • Array: kiểu dữ liệu mảng - là một tập hợp các phần tử có cùng kiểu dữ liệu với nhau.
  • Object: là 1 thể hiện (instance) của 1 lớp đã được định nghĩa trước - được sử dụng trong lập trình hướng đối tượng.
  • Resource: là kiểu dữ liệu đặc biệt dùng để lưu trữ tham chiếu đến các tài nguyên bên ngoài PHP chẳng hạn như kết nối đến database.

Không có giới hạn về độ dài của chuỗi - trong phạm vi giới hạn sẵn có của bộ nhớ, bạn có thể tạo chuỗi dài tùy ý.

Chuỗi được bao quanh bởi các dấu ngoặc kép (ví dụ "abc") hoặc ngoặc đơn (ví dụ 'cde'). Để nối các chuỗi lại với nhau chúng ta dùng dấu "." Một số ký tự bắt đầu bằng dấu gạch chéo ngược (\) được sử dụng để thay thế cho các ký tự đặc biệt

Một số ký tự đặc biệt trong chuỗi:

  • \ N được thay thế bằng ký tự xuống dòng
  • \ R được thay thế bởi ký tự carriage-return (di chuyển con trỏ đến vị trí bắt đầu của dòng hiện tại mà không thay đổi tọa độ y)
  • \ T được thay thế bằng ký tự tab
  • \ $ Được thay thế bằng ký hiệu $
  • \ "Được thay thế bằng một dấu nháy kép (")
  • \\ Được thay thế bằng một dấu gạch chéo ngược (\)

Ví dụ:

Dấu .= được sử dụng để nối giá trị hiện tại của biến với giá trị mới của biến (sử dụng cho chuỗi). Kết quả in ra:

A newline is A carriage return is A tab is A dollar sign is $A double-quote is "

Phạm vi của biến trong PHP

Biến cục bộ: Một biến được khai báo trong một hàm được xem là cục bộ (local); nghĩa là nó chỉ có thể được tham chiếu chỉ trong hàm đó. Việc gán biến bên ngoài hàm sẽ được xem như là một biến khác.

Ví dụ:

Kết quả xuất ra:

$y inside function is 0. $y outside of function is 4.

Tham số: Tham số được khai báo sau tên hàm và nằm trong dấu ().

Ví dụ:

$value = $value * 10; return $value; } $retval = multiply (10); Print "Return value is $retval\n"; ?>

Kết quả in ra:

Return value is 100

Biến toàn cục: khác với biến cục bộ, biến toàn cục có thể được truy cập từ bất kì đâu trong chương trình. Tuy nhiên, để có thể được sửa đổi, một biến toàn cục phải được khai báo là global trong hàm bằng cách đặt các từ khóa GLOBAL ở phía trước của biến đã có sẵn.

Ví dụ:

$a = 15; function add () { GLOBAL $a; $a++; print "value of a is $a"; } add ();

Kết quả in ra:

value of a is 16

Biến tĩnh (static): khác với tham số sẽ bị mất giá trị khi thoát khỏi hàm, biến tĩnh không bị mất giá trị khi thoát khỏi hàm. Biến tĩnh được khai báo bằng từ khóa STATIC.

Như chúng ta đã biết Array là một kiểu dữ liệu rất quan trọng trong PHP, hầu hết ở những dự án chúng ta đều phải xử lý dữ liệu Array.Hôm nay mình sẽ ôn tập một chút kiến thức về Array

1. Mảng là gì?

  • Một mảng là một cấu trúc dữ liệu mà lưu giữ một hoặc nhiều kiểu giá trị giống nhau trong một giá trị đơn. Ví dụ, nếu bạn muốn lưu 100 số, thì thay vì định nghĩa 100 biến, nó là dễ dàng để định nghĩa một mảng có độ dài là 100.

2. Làm thế nào để tạo 1 mảng?

  • Để tạo 1 mảng chúng ta sử dụng cú pháp array().

Cú pháp:

$array = array( values );

Ví dụ:

$directors = array( "1", "7", "17", "23" );

3. Có bao nhiêu loại mảng?

  • Có 3 loại mảng khác nhau và mỗi giá trị mảng được truy cập bởi sử dụng một ID, mà được gọi là chỉ mục mảng.
  • Mảng số nguyên : Một mảng có chỉ mục ở dạng số. Giá trị được lưu trữ và truy cập tuyến tính.
  • Mảng liên hợp : Một mảng với chỉ mục ở dạng chuỗi kí tự. Mảng này lưu trữ các giá trị phần tử bằng sự kết hợp với các giá trị key thay vì trong một trật tự chỉ mục tuyến tính nghiêm ngặt như mảng số nguyên.
  • Mảng đa chiều : Một mảng chứa một hoặc nhiều mảng và các giá trị được truy cập bằng cách sử dụng nhiều chỉ mục.

4. Sự khác nhau giữa array_pop() và array_push()?

  • array_pop() : Được sử dụng để loại bỏ phần tử cuối cùng của mảng truyền vào,trả về phần tử bị loại bỏ.

Ví dụ:

$array = array(
   "css",
   "html",
   "php",
   "js"
);
$result = array_pop($array);
echo $result;
echo "
";
  print_r($array);
echo "
";

Output:

js
Array
(
    [0] => css
    [1] => html
    [2] => php
)

  • array_push() : Được sử dụng để chèn một hoặc nhiều phần tử vào cuối mảng

Ví dụ:

$a=array("apple","banana");
array_push($a,"mango","pineapple");

Output:

Array (
    [0] => apple
    [1] => banana
    [2] => mango
    [3] => pineapple
)

5. Sự khác nhau giữa array_merge() và array_combine()?

  • array_combine(): Được sử dụng để tạo ra mảng mới bằng cách sử dụng key của 1 mảng làm keys và value của mảng khác là values.Điều quan trọng nhất kh sử dụng array_combine() là số phần tử của cả 2 mảng phải bằng nhau.Trả về False nếu số phần tử của mỗi mảng là không cân bằng với nhau hoặc nếu các mảng là trống.

Ví dụ:

 

Output:

Array
(
    [sky] => blue
    [grass] => green
    [orange] => orange
)

  • array_merge(): Sử dụng để nối hai hay nhiều mảng lại thành một mảng. Nếu trong các mảng truyền vào có những phần tử có cùng khóa, phần tử của mảng cuối cùng được truyền vào sẽ được chọn để nối vào mảng kết quả.

Ví dụ:

 "laravel",
       "css", "html"
   );
   $array2 = array(
       "python",
       "php" => "zend",
       "js" => "nodeJs"
   );
   $result = array_merge($array1, $array2);
   echo "
";
       print_r($result);
   echo "
"; ?>

Output:

 Array
(
    [php] => zend
    [0] => css
    [1] => html
    [2] => python
    [js] => nodeJs
)

6. Làm thế nào để đếm tổng số phần tử trong mảng?

  • Chúng ta có thể sử dụng hàm count () hoặc sizeof () để đếm tổng số phần tử trong mảng

Ví dụ:

$directors = array( "1", "7", "17", "23" );

0

Output:

js
Array
(
    [0] => css
    [1] => html
    [2] => php
)

2

7. Sự khác nhau giữa count() và sizeof() là gì ?

  • Khi làm việc với mảng thì hàm count() có lẽ được dùng rất là thông dùng, nhưng bên cạnh đó có một hàm nữa có chức năng tương tự, đó là hàm sizeof(). Nhưng tại sao PHP lại có hai hàm mà chức năng lại giống nhau là đếm số phần tử của mảng? Điều này cho thấy có sự khác biệt ở đâu đó chăng? Thật ra thì không có sự khác biệt mấy, hàm sizeof() là một hàm mà ta có thể gọi là một alias của hàm count() nên chức năng hoàn toàn giống nhau.Hàm count() nhanh và tốt hơn hàm sizeof().

8. Làm thế nào để kiểm tra 1 khóa đã tồn tại trong mảng?

  • Để kiểm tra 1 khóa tồn tại trong mảng, chúng ta sử dụng array_key_exists()

Ví dụ:

$directors = array( "1", "7", "17", "23" );

1

Output:

js
Array
(
    [0] => css
    [1] => html
    [2] => php
)

3

9. Sử dụng is_array() và in_array() như thế nào?

  • is_array () : Đây là một hàm sẵn có được sử dụng trong PHP. Nó được sử dụng để kiểm tra xem một biến có phải là một mảng hay không.

Ví dụ:

$directors = array( "1", "7", "17", "23" );

2

Output:

$directors = array( "1", "7", "17", "23" );

3

  • in_array () : Nó được sử dụng để kiểm tra xem một giá trị đã cho có tồn tại trong một mảng hay không. Nó trả về TRUE nếu giá trị tồn tại trong mảng và trả về FALSE nếu không.

Ví dụ:

$directors = array( "1", "7", "17", "23" );

4

Output:

js
Array
(
    [0] => css
    [1] => html
    [2] => php
)

4

10. Các hàm sắp xếp mảng ?

  • sort () : Nó được sử dụng để sắp xếp một mảng theo thứ tự tăng dần
  • rsort () : Nó được sử dụng để sắp xếp một mảng theo thứ tự giảm dần
  • asort () : Nó được sử dụng để sắp xếp một mảng kết hợp theo thứ tự tăng dần, theo value
  • ksort () : Nó được sử dụng để sắp xếp một mảng kết hợp theo thứ tự tăng dần, theo key
  • arsort () : Nó được sử dụng để sắp xếp một mảng kết hợp theo thứ tự giảm dần, theo value
  • krsort () : Nó được sử dụng để sắp xếp một mảng kết hợp theo thứ tự giảm dần, theo key

11. Hàm implode() là gì?

  • Hàm implode() để nối các phân tử của mảng lại thành một chuỗi, hàm sẽ trả về chuỗi bao gồm các phần tử của mảng được ngăn cách bằng một kí tự nào đó được truyền vào.

Ví dụ:

$directors = array( "1", "7", "17", "23" );

5

Output:

js
Array
(
    [0] => css
    [1] => html
    [2] => php
)

5

12. Hàm explode() là gì?

  • Hàm explode() để chuyển một chuỗi thành một mảng và mỗi phần tử được cắt bởi một chuỗi con nào đó.

Cú pháp:

$directors = array( "1", "7", "17", "23" );

6

Trong đó: $delimiter: Chuỗi phân cách.

$string: Chuỗi ký tự đầu vào.

$limit: Nếu tham số $limit được thiết lập và là số dương, hàm sẽ trả về một mảng với số lượng phần tử lớn nhất không vượt quá $limit và phân tử cuối cùng sẽ chứa phần còn lại của chuỗi $string. Nếu tham số $limit là một số âm, hàm sẽ trả về 1 mảng với số phần tử = (tổng số phần tử – $limit) Nếu tham số $limit bằng 0, thì được coi như là bằng 1.

Ví dụ:

$directors = array( "1", "7", "17", "23" );

7

Output:

$directors = array( "1", "7", "17", "23" );

8

13. Cách sử dụng array_search() ?

  • array_search () là một hàm sẵn có của PHP, được sử dụng để tìm kiếm một giá trị cụ thể trong một mảng và nếu giá trị được tìm thấy thì nó trả về khóa tương ứng của nó.

Ví dụ:

$directors = array( "1", "7", "17", "23" );

9

Output:

js
Array
(
    [0] => css
    [1] => html
    [2] => php
)

6

14. Làm thế nào để có được các phần tử theo thứ tự ngược trong mảng ?

  • Chúng ta sử dụng hàm array_reverse().

Ví dụ:

$array = array(
   "css",
   "html",
   "php",
   "js"
);
$result = array_pop($array);
echo $result;
echo "
";
  print_r($array);
echo "
";

0

Output:

$array = array(
   "css",
   "html",
   "php",
   "js"
);
$result = array_pop($array);
echo $result;
echo "
";
  print_r($array);
echo "
";

1

15. Làm thế nào để loại bỏ tất cả các phần tử trùng nhau trong mảng ?

  • Chúng ta sử dụng hàm array_unique() để loại bỏ tất cả các phần tử trùng nhau trong mảng.

Ví dụ:

$array = array(
   "css",
   "html",
   "php",
   "js"
);
$result = array_pop($array);
echo $result;
echo "
";
  print_r($array);
echo "
";

2

Output:

$array = array(
   "css",
   "html",
   "php",
   "js"
);
$result = array_pop($array);
echo $result;
echo "
";
  print_r($array);
echo "
";

3

16. Hàm array_count_values() là gì ?

  • Đây là một trong những hàm đơn giản nhất được sử dụng để đếm tất cả các giá trị bên trong một mảng. Nói cách khác, chúng ta có thể nói rằng nó được sử dụng để tính tần số của tất cả các phần tử của một mảng.

Ví dụ:

$array = array(
   "css",
   "html",
   "php",
   "js"
);
$result = array_pop($array);
echo $result;
echo "
";
  print_r($array);
echo "
";

4

Output:

$array = array(
   "css",
   "html",
   "php",
   "js"
);
$result = array_pop($array);
echo $result;
echo "
";
  print_r($array);
echo "
";

5

17. Sự khác nhau giữa array_keys() và array_key_exists() ?

  • array_key_exists(): Nó được sử dụng để kiểm tra một mảng cho một khóa cụ thể và trả về TRUE nếu khóa tồn tại và FALSE nếu khóa không tồn tại.
  • array_keys(): Cú pháp:

$array = array(
   "css",
   "html",
   "php",
   "js"
);
$result = array_pop($array);
echo $result;
echo "
";
  print_r($array);
echo "
";

6

Trong đó: $input: Bắt buộc. Xác định một mảng

$search_value: Bắt buộc. Bạn có thể xác định một value, thì chỉ có các key với value sẽ được trả về

$strict: Tùy ý. Được sử dụng với tham số value. Các giá trị có thể có là: true - Trả về các key với value đã xác định, phụ thuộc vào kiểu (số 5 là không giống với chuỗi "5"). false - Giá trị mặc định. Không phụ thuộc vào kiểu (số 5 là giống với chuỗi "5")

Trả về các key, dạng số hoặc chuỗi, từ mảng input. Nếu tham số tùy ý search_value được xác định, thì chỉ các key với value đó sẽ được trả về. Nếu không, tất cả key từ mảng input đó sẽ được trả về. Ví dụ:

$array = array(
   "css",
   "html",
   "php",
   "js"
);
$result = array_pop($array);
echo $result;
echo "
";
  print_r($array);
echo "
";

7

Output:

$array = array(
   "css",
   "html",
   "php",
   "js"
);
$result = array_pop($array);
echo $result;
echo "
";
  print_r($array);
echo "
";

8

18. Cách sử dụng hàm array_splice() ?

  • Cú pháp :

$array = array(
   "css",
   "html",
   "php",
   "js"
);
$result = array_pop($array);
echo $result;
echo "
";
  print_r($array);
echo "
";

9

Trong đó: $input: Bắt buộc, xác định một mảng

$offset: Bắt buộc. Giá trị số. Xác định nơi hàm bắt đầu việc gỡ bỏ phần tử. 0 = phần tử đầu tiên. Nếu giá trị này là số âm, thì hàm sẽ bắt đầu từ phần tử cuối cùng (-2 nghĩa là bắt đầu từ phần tử cuối cùng thứ hai của mảng)

$length: Tùy ý. Giá trị số. Xác định bao nhiêu phần tử bị gỡ bỏ, và nó cũng là length của mảng trả về. Nếu giá trị này là số âm, nó sẽ dừng ở phần tử cuối cùng. Nếu giá trị này không được thiết lập, nó sẽ gỡ bỏ tất cả phần tử, bắt đầu từ vị trí được xác định bởi start-parameter

$replacement: Tùy ý. Xác định một mảng với các phần tử mà sẽ được chèn vào mảng nguồn. Nếu nó chỉ là một phần tử, nó có thể là một chuỗi, không phải là một mảng

Ví dụ:

js
Array
(
    [0] => css
    [1] => html
    [2] => php
)

0

Output:

js
Array
(
    [0] => css
    [1] => html
    [2] => php
)

1

Tổng kết

Trên đây mình đã liệt kê những kiến thức ôn tập về array rất hữu ích .Cảm ơn các bạn đã đọc bài của mình