Thứ Hai, 23 tháng 5, 2022

Xử lý chuỗi và mảng trong PHP (2)

 2. Hàm xử lý chuỗi trong php 



1. Nguyên tắc xử lý chuỗi trong PHP

Nguyên tắc thứ nhất: Để khi chèn biến không phải nối chuỗi bạn nên sử dụng ” “ (dấu nháy) để in ra chuỗi.

$str = "đang ăn tối";

echo "Nam nói\"Cậu ấy $str\" ";

Nguyên tắc thứ hai:  Các ký tự ” (nháy kép) đặt trong dấu nháy kép “” của chuỗi phải thêm dấu gạch chéo đằng trước.

echo "Nam nói\"Cậu ấy đang ăn tối\" ";

Nguyên tắc thứ ba: Nếu chuối được đặt trong dấu ” (nháy đơn) thì các ký tự  (nháy đơn) trong chuỗi phải thêm dấu gạch chéo phía trước nó.

echo 'Freetuts's a website learning online';

2. Các hàm xử lý chuỗi trong PHP

Dưới đây là một số hàm xử lý chuỗi trong PHP phổ biến nhất

2.1 addcslashes($str, $char_list)

Thêm dấu / (gạch chéo) phía trước những ký tự trong chuỗi $str mà bạn liệt kê ở $char_list:

// a..z là gồm các từ từ a => z

echo (addcslashes('freetuts.net FREETUTS.NET', 'a..z'));

// kết quả: \f\r\e\e\t\u\t\s.\n\e\t

echo '<br />';

// a..zA..Z là gồm các từ từ a => z và A => Z

echo (addcslashes('freetuts.net FREETUTS.NET', 'a..zA..Z'));

2.2 addslashes ( $str )

Đây là hàm sẽ thêm dấu / (gạch chéo) trước ký tự (‘, “, \) trong chuỗi $str:

echo addslashes ("Freetuts's a website learning online");

// Kết quả là Freetuts's a website learning online

2.3 stripslashes ($str)

Hàm xóa các ký tự / (gạch chéo) trong chuỗi $str:

echo stripslashes("Mot so ham 'xu ly chuoi' trong PHP");

// Kết quả Mot so ham 'xu ly chuoi' trong PHP

2.4 crc32 ( $str )

Hàm chuyển chuỗi $str thành dãy số nguyên (tùy hệ điều hành sẽ chuyển thành số dương hoặc số âm):

echo crc32 ('freetuts.net');

// kết quả: -838644060

2.5 explode ( $delimiter , $string)

Hàm chuyển 1 chuỗi $string thành 1 mảng phần tử với ký tự tách mảng $delimiter:

<strong>// Chuỗi cần chuyển<br />

$str = 'freetuts.net is a website free for you';

 

// Mỗi khoảng trắng sẽ là một phần tử trong mảng<br />

var_dump(explode(' ', $str));

 

/*Kết quả

array

0 => 'freetuts.net',

1 => 'is',

2 => 'a' ,

3 => 'website',

4 => 'free',

5 => 'for' ,

6 => 'you' */</strong>

2.6 Hàm implode($delimiter, $piecesarray);

Chuyển 1 mảng $piecearray thành chuỗi, mỗi phần tử cách nhau bởi chuỗi $delimiter:

echo implode(' ', array(

'freetuts',

'xin',

'chào',

'các',

'bạn'

));

// kết quả là freetuts xin chào các bạn

2.7 Hàm ord ( $string )

Hàm trả mã ASCII của ký tự đầu trong chuỗi $string:

echo ord ('Ab');

// kết quả: 65

2.8 Hàm xử lý chuỗi trong PHP – strlen($string)

Đếm số ký tự chuỗi $string:

echo strlen('freetuts.net');

// kết quả: 12

2.9 str_word_count($str)

Đếm số từ trong chuỗi $str:

echo str_word_count('freetuts xin chào các bạn');

// kết quả là 5

2.10 str_repeat(  $str, int $n  )

Hàm lặp chuỗi $str $n lần:

echo str_repeat( 'Hello', 5 );

// Kết quả là HelloHelloHelloHelloHello

2.11 str_replace( $chuoi_tim, $chuoi_thay_the, $chuoi_nguon )

Tìm kiếm, thay thế chuỗi:

$str = 'Freetuts Xin Chào Các Bạn';

$str = str_replace( 'Freetuts', 'Freetuts.net', $str );

echo $str; // kết quả là Freetuts.net Xin Chào Các Bạn

Sử dụng mảng để truyền vào nếu muốn thay thế nhiều chuỗi:

$str = 'Freetuts Xin Chào Các Bạn';

$str = str_replace( array('Freetuts', 'Xin Chào'), array('Freetuts.net', 'Hello'), $str );

echo $str; // kết quả là Freetuts.net Hello Các Bạn

2.12 md5( $str)

Mã hóa chuỗi thành dãy 32 ký tự:

echo md5('freetuts.net');

// Kết quả: 83617175fd8cf470d4af657a28def98e

2.13 sha1($string)

Mã hóa chuỗi thành dãy 40 ký tự:

echo sha1('freetuts.net');

// kết quả 8d9fa09de2e997d8fbb544326b84d1f894cd3ca3

2.14 htmlentities($str)

Chuyển thẻ html trong chuỗi $str sang dạng thực thể của nó:

echo htmlentities('<b>freetuts.net</b>');

// Kết quả <b>freetuts.net</b>

2.15 html_entity_decode($string)

Chuyển các ký tự từ dạng thực thể sang dạng html:

$str = htmlentities('<b>freetuts.net</b>');

 

echo 'Entity: ' . $str . '<br/>';

echo 'Decode: ' . html_entity_decode($str);

2.16 htmlspecialchars( $string)

Chuyển thẻ html trong chuỗi $str sang dạng thực thể của nó.

2.17 strip_tags( $string, $allow_tags )

Chuyển các ký tự từ dạng thực thể sang dạng html.

2.18 substr( $string,  $start, $length )

Bỏ thẻ html trong chuỗi $string được khai báo ở $allow_tags:

echo strip_tags('<b>freetuts.net</b>', 'b');

2.19 Hàm strstr( $string, $ky_tu_cho_truoc )

Hàm tách chuỗi bắt đầu từ $ky_tu_cho_truoc đến hết chuỗi:

echo strstr('freetuts.net Xin Chào', 'Xin');

// Kết quả: Xin Chào

2.20 strpos($str, $chuoi_tim )

Xác định vị trí chuỗi $chuoi_tim trong $str:

echo strpos('freetuts.net chào các bạn', 'chào');

// kết quả 13

2.21 strtolower($str);

Chuyển các ký tự chuỗi $str sang dạng chữ thông thường.

2.22 strtoupper($string );

Chuyển các ký tự chuỗi $str sang dạng chữ hoa.

2.23 ucfirst( $string )

Chuyển ký tự đầu của chuỗi $str sang dạng chữ hoa.

2.24 ucwords( $string )

Chuyển từ đầu tiên của chuỗi $string sang dạng chữ hoa.

2.25 trim($string, $ky_tu);

echo trim(' freetuts.net ');

// kết quả: 'freetuts.net'

 

echo trim('freetuts.neth');

// kết quả: 'freetuts.net'

2.25 ltrim($string, $ky_tu);

Xóa ký tự $Sky_tu ở cuối và đầu chuỗi $str (chỉ xóa bên trái).

2.26 rtrim($string, $ky_tu)

Xóa ký tự $Sky_tu ở cuối và đầu chuỗi $str (chỉ xóa bên phải).

2.27 nl2br($string)

Hàm chuyển các ký tự như trim xuống dòng \n thành thẻ.

2.28 json_decode($json, $is_array)

Chuyển chuỗi dạng JSON sang các đối tượng mảng hay object.

2.29 json_encode($array_or_object)

Chuyển 1 mảng hoặc 1 đối tượng sang chuỗi dạng JSON.


Share:

Xử lý chuỗi và mảng trong PHP (1)

1. Hàm xử lý mảng trong php 



 array_chunk(array $array , int $size [, bool $preserve_keys = false ] )

Trong đó:

  • $array là mảng cần chuyển đổi
  • $size số phần tử sẽ được gộp lại
  • $preserve_keys  có 2 giá trị TRUE hoặc FALSE, giá trị mặc định là FALSE. Nếu ta thiết lập TRUE thì các phần tử trong mỗi group của mảng mới sẽ được đánh chỉ mục tăng dần, ngược lại nếu bằng FALSE thì sau mỗi group các phần tử sẽ tính lại chỉ số 0.

Trường hợp $preserve_key = FALSE

Kết quả:

Các bạn để ý các phần tử của mỗi group được reset lại thành số 0 khi qua phần tử kết tiếp.

Trường hợp $preserve_key = TRUE

Kết quả:

Khác với ví dụ trên thì trong ví dụ này các phần tử của mỗi group sẽ có số chỉ mục liên tiếp nhau.

Cú pháp: array_merge($array1, $array2 ...);

Trong đó:

  • $array1$array2 là các mảng dữ liệu truyền vào.

Ví dụ

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
$array1 = array(
    "php" => "laravel",
    "css", "html"
);
$array2 = array(
    "python",
    "php" => "zend",
    "js" => "nodeJs"
);
$result = array_merge($array1, $array2);
echo "<pre>";
    print_r($result);
echo "</pre>";

Kết quả
1
2
3
4
5
6
7
8
Array
(
    [php] => zend
    [0] => css
    [1] => html
    [2] => python
    [js] => nodeJs
)


array_pop()Xóa phần tử cuối cùng của một mảng


Cú pháparray_pop($array);

array_push()Chèn một hoặc nhiều phần tử vào phần cuối của một mảng

array_push array &$array , mixed $value1 [, mixed $... ] )

Trong đó:

  • $array: là mảng cần thêm (biến tham chiếu)
  • $value1: là phần tử muốn thêm
  • Nếu có nhiều phần tử muốn thêm thì thêm nó đằng sau $value1

Giá trị trả về

Kết quả trả về băng 1 nếu thêm thành công và 0 nếu thất bại.

Bài viết này được đăng tại [free tuts .net]

Lưu ý: tham số $array là tham chiếu nên sau khi chạy xong hàm array_push() thì các phần tử cần thêm đã được thêm vào mảng $array rồi.

Ví dụ

Các ví dụ liên quan đến hàm array_push() trong php.

Thêm một phần tử vào cuối mảng

1
2
3
4
5
6
$websites = array();
 
array_push($websites, 'abc');
 
echo '<pre>';
print_r($websites);

Kết quả:

Array
(
    [0] => abc
)

Thêm nhiều phần tử vào cuối mảng

1
2
3
4
5
6
$websites = array();
 
array_push($websites, 'abc', 'xyz', 'bnm');
 
echo '<pre>';
print_r($websites);

Kết quả

Array
(
    [0] => abc
    [1] => xyz
    [2] => bnm
)


Hàm array_search() sẽ tìm kiếm phần tử trong mảng có giá trị truyền vào,trả về khóa nếu phần tử đó tồn tại.

Cú pháparray_search($search, $array);

Trong đó:

  • $search là giá trị của phần tử cần tìm.
  • $array là mảng dữ liệu truyền vào.

Ví dụ

Code
1
2
3
4
5
6
7
8
9
$array = array(
    0 => 'php',
    1 => 'js',
    2 => 'html',
    3 => 'css'
);
 
echo $key = array_search('css', $array)."<br />";
echo $key = array_search('js', $array)."<br />";

Kết quả
1
2
3
1

array_shift()Gỡ bỏ phần tử đầu tiên từ một mảng, và trả về value của phần tử bị gỡ bỏ

Cú pháparray_shift($array);

Trong đó:

  • $array là mảng dữ liệu.

Ví dụ

Code
1
2
3
4
5
6
7
8
9
10
$array = array(
    "php",
    "js",
    "html",
    "css"
);
echo array_shift($array);
echo "<pre>";
    print_r($array);
echo "</pre>";

Kết quả
1
2
3
4
5
6
7
php
Array
(
    [0] => js
    [1] => html
    [2] => css
)

Hàm trả về php là phần tử bị loại bỏ khỏi mảng $array.


array_slice()Trả về các phần đã chọn của một mảng

Hàm array_slice() cắt bỏ phần tử của mảng, giữ lại những phần tử được chọn.

Cú pháparray_slice($array, $offset [, $lenght, $reoder]);

Trong đó:

  • $array là mảng dữ liệu truyền vào.
  • $offset là vị trí của phần tử đầu tiên được giữ lại.

Các phần tử trong dấu [ ] có thể không truyền vào:

  • $lenght là số phần tử được giữ lại.
  • $reoder là tham số kiểu boolean, nếu bằng TRUE thì hàm sẽ giữ nguyên khóa của các phần tử, ngược lại sẽ thay đổi các khóa của các phần tử được giữ lại.

Ví dụ

Code
1
2
3
4
5
6
7
8
9
10
$array = range(
    "a",
    "f"
);
 
 $output = array_slice($array, 2);      // returns "c", "d","e","f"
         
 $output = array_slice($array, -2, 1);  // returns "e"
         
 $output = array_slice($array, 0, 3);   // returns "a", "b", and "c"

Code
1
2
3
4
5
6
7
8
9
10
$array = range(
    "a",
    "f"
);
echo "<pre>";
    print_r(array_slice($array, 2, -1));
echo "</pre>";
echo "<pre>";
    print_r(array_slice($array, 2, -1, true));
echo "</pre>";

Kết quả
1
2
3
4
5
6
7
8
9
10
11
12
Array
(
    [0] => c
    [1] => d
    [2] => e
)
Array
(
    [2] => c
    [3] => d
    [4] => e
)

array_splice()Gỡ bỏ và thay thế các phần tử đã xác định của một mảng

Hàm array_splice() xóa phần tử trong mảng và thay thế bằng một phần tử hoặc một số phần tử khác.


Cú pháparray_splice($array, $offset [, $lenght, $replace]);

Trong đó:

  • $array là mảng dữ liệu truyền vào.
  • $offset là vị trí của phần tử đầu tiên bị xóa.

Các phần tử tron dấu [ ] có thể không truyền vào:

Bài viết này được đăng tại [free tuts .net]

  • $lenght là số phần tử bị xóa.
  • $replace phần tử hoặc mảng thay thế các phần tử bị xóa.

Ví dụ

$lenght dương:

Code
1
2
3
4
5
6
$input = range(0,10);
array_splice($input, 5, 4, ["25","22"]);
 
echo "<pre>";
    print_r($input);
echo "</pre>";

Kết quả
1
2
3
4
5
6
7
8
9
10
11
12
Array
(
    [0] => 0
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 4
    [5] => 25
    [6] => 22
    [7] => 9
    [8] => 10
)

$lenght âm:

Code
1
2
3
4
5
6
$input = range(0,10);
array_splice($input, 2, -2);
 
echo "<pre>";
   print_r($input);
echo "</pre>";

Kết quả
1
2
3
4
5
6
7
Array
(
    [0] => 0
    [1] => 1
    [2] => 9
    [3] => 10
)

$lenght = 0:

Code
1
2
3
4
5
6
$input = range(0,10);
array_splice($input, 5, 0);
 
echo "<pre>";
   print_r($input);
echo "</pre>";

Kết quả
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Array
(
    [0] => 0
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 4
    [5] => 5
    [6] => 6
    [7] => 7
    [8] => 8
    [9] => 9
    [10] => 10
)


Hàm array_unique() trong PHP

Hàm array_unique() sẽ loại bỏ những phần tử có giá trị trùng lặp trong mảng.

Cú pháparray_unique($array);

Trong đó

  • $array là mảng dữ liệu.

Ví dụ

Code
1
2
3
4
5
6
7
8
9
10
11
12
$array = array(
    "a" => "php",
    "js",
    "b" => "python",
    "C#",
    "php"
);
$result = array_unique($array);
echo "<pre>";
    print_r($result);
echo "</pre>";
        

Kết quả
1
2
3
4
5
6
7
Array
(
    [a] => php
    [0] => js
    [b] => python
    [1] => C#
)

Phần tử có giá trị php thứ 2 đã bị loại bỏ khỏi mảng $array.


array_unshift()Thêm một hoặc nhiều phần tử tới phần đầu của mảng


Hàm array_unshift() trong PHP

Hàm array_unshift() sẽ thêm một hoặc nhiều phần tử vào đầu mảng.Hàm trả về số nguyên là số phần tử của mảng mới được thêm.

Cú pháparray_unshift($array, $element1, $element2, ....);

Trong đó:

  • $array là mảng dữ liệu ban đầu.
  • $element1, $element2, ....  là các phần tử được thêm vào.

Ví dụ

Code
1
2
3
4
5
6
7
8
$array = array(
    "php",
    "js"
);
array_unshift($array, "html", "css");
echo "<pre>";
    print_r($array);
echo "</pre>";

Kết quả
1
2
3
4
5
6
7
Array
(
    [0] => html
    [1] => css
    [2] => php
    [3] => js
)

Hai phần tử html và css đã được thêm vào đầu mảng $array.



in_array()Kiểm tra nếu một value đã xác định là tồn tại trong một mảng

Kiểm tra 1 giá trị có tồn tại trong mảng hay không

Share:

a1c4b3.blogspot.com

Tìm kiếm Blog này

lifecycle hook angular

Labels