sách gpt4 ăn đã đi

Giải thích chi tiết về các ví dụ về hàm tuần tự hóa và giải tuần tự hóa PHP

In lại Tác giả: qq735679552 Thời gian cập nhật: 28-09-2022 22:32:09 27 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài viết blog CFSDN này cung cấp giải thích chi tiết về các ví dụ về hàm tuần tự hóa và giải tuần tự hóa PHP được tác giả sưu tầm và biên soạn. Nếu bạn quan tâm đến bài viết này, hãy nhớ thích nó.

Tuần tự hóa và giải tuần tự hóa.

Nén các kiểu dữ liệu phức tạp thành một chuỗi.

serialize() mã hóa các biến và giá trị của chúng thành dạng văn bản unserialize() khôi phục các biến ban đầu.

1. Tạo một mảng $arr để lưu trữ thông tin cơ bản của người dùng và xuất kết quả xem trên trình duyệt;

?
1
2
3
4
5
6
7
$arr = mảng ();
$arr [ 'tên' ]= 'Trương San' ;
$arr [ 'tuổi' ]= '22' ;
$arr [ 'tình dục' ]= 'nam giới' ;
$arr [ 'điện thoại' ]= '123456789' ;
$arr [ 'Địa chỉ' ]= 'Khu vực mới Phố Đông Thượng Hải' ;
var_dump( $arr );

Kết quả đầu ra:

?
1
2
3
4
5
6
7
mảng (5) {
[ "tên" ]=> chuỗi(6) "Trương San"
[ "tuổi" ]=> chuỗi(2) "22"
[ "tình dục" ]=> chuỗi(3) "nam giới"
[ "điện thoại" ]=> chuỗi(9) "123456789"
[ "Địa chỉ" ]=> chuỗi(21) "Khu vực mới Phố Đông Thượng Hải"
  }

2. Sắp xếp thứ tự mảng $arr và gán nó vào chuỗi $info và xuất kết quả xem trong trình duyệt;

?
1
2
$thông tin =tuần tự hóa( $arr );
var_dump( $thông tin );

Kết quả đầu ra:

?
1
chuỗi(140) "a:5:{s:4:" tên ";s:6:" Trương Tam ";s:3:" tuổi ";s:2:" 22 ";s:3:" tình dục ";s:3:" nam giới ";s:5:" điện thoại ";s:9:" 123456789 ";s:7:" Địa chỉ ";s:21:" Khu vực mới Phố Đông, Thượng Hải ";}"

Sử dụng hàm serialize($arr) để nối các khóa và giá trị của các phần tử trong mảng thành các chuỗi theo thứ tự thông thường. Cờ a:5 được tuần tự hóa thành một mảng chứa 5 cặp khóa-giá trị và nội dung cờ s:4 là một chuỗi chứa 4 ký tự.

Thông qua tuần tự hóa, chúng ta có thể lưu trữ một số dữ liệu mô-đun dưới dạng chuỗi trong cơ sở dữ liệu hoặc phiên, v.v., điều này có thể làm giảm việc tạo nhiều trường bảng dữ liệu rườm rà. Tất nhiên, tuần tự hóa dưới dạng lưu trữ chuỗi sẽ bổ sung thêm không gian và cần được thiết kế. và ứng dụng một cách hợp lý.

3. Cuối cùng, sử dụng unserialize($info) để giải tuần tự hóa chuỗi và khôi phục nó về mẫu mảng mà chúng ta cần;

?
1
2
$trương san =hủy tuần tự hóa( $thông tin );
var_dump( $trương san );

Kết quả đầu ra:

?
1
2
3
4
5
6
7
mảng (5) {
[ "tên" ]=> chuỗi(6) "Trương San"
[ "tuổi" ]=> chuỗi(2) "22"
[ "tình dục" ]=> chuỗi(3) "nam giới"
[ "điện thoại" ]=> chuỗi(9) "123456789"
[ "Địa chỉ" ]=> chuỗi(21) "Khu vực mới Phố Đông Thượng Hải"
}

Các hàm tuần tự hóa và giải tuần tự hóa PHP.

Hôm qua tôi thấy một câu hỏi phỏng vấn trực tuyến như sau:

"Các thuộc tính của một lớp có thể được tuần tự hóa và lưu trong phiên, để sau này toàn bộ lớp có thể được khôi phục. Chức năng được sử dụng là gì?"

Tôi nhớ thầy dạy chức năng xê-ri hóa là “serialize”, tôi đã kiểm tra và chắc chắn hôm nay tôi ghi lại để khỏi quên.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
   lớp học aa{
     công cộng $ một = 1;
     riêng tư $b = 2;
     được bảo vệ $c = 3;
 
     chức năng đường ống(){
       trở lại $cái này ->a;
     }
     chức năng bfun(){
       trở lại $cái này ->b;
     }
     chức năng __hủy(){
       tiếng vọng "Biến bị phá hủy" ;
     }
   }
 
   $in = mới à;
   tiếng vọng $in ->đầu vào();
   $se = tuần tự hóa( $in );
   bỏ đặt( $in ); // Phá hủy $v ở đây trước và hàm hủy sẽ được gọi tự động vào lúc này
   tiếng vọng "" ;
   $in = deinialize( $se ); // Giải tuần tự hóa lần nữa
   tiếng vọng $in ->bfun();

Hãy nhìn vào kết quả chạy.

Giải thích chi tiết về các ví dụ về hàm tuần tự hóa và giải tuần tự hóa PHP

Nếu nó vẫn chưa rõ ràng, được rồi, hãy thay đổi mã.

aa.class.php 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
   lớp học aa{
     công cộng $ một = 1;
     riêng tư $b = 2;
     được bảo vệ $c = 3;
 
     chức năng đường ống(){
       trở lại 'Giá trị của $a là:' . $cái này ->a;
     }
     chức năng bfun(){
       trở lại 'Giá trị của $b là:' . $cái này ->b;
     }
   }

a1.php 。

?
1
2
3
4
5
   yêu cầu './demo8.php' ;
   Phiên_bắt_đầu();
   $in = mới aa();
   $_PHIÊN [ 'TRONG' ] = tuần tự hóa( $in );

a2.php。

?
1
2
3
4
5
   yêu cầu './demo8.php' ;
   Phiên_bắt_đầu();
   $in = deinialize( $_PHIÊN [ 'TRONG' ]);
   tiếng vọng $in ->bfun();

Chúng ta hãy xem kết quả có rõ ràng trong nháy mắt không. Vâng, thí nghiệm đã được thực hiện và kết luận có thể được công bố. Chúng ta cũng có thể thay đổi các đối tượng trong ví dụ sang các kiểu khác như mảng và hiệu quả sẽ tương tự! Thực chất, serialize() là để tuần tự hóa các giá trị của các biến trong PHP như đối tượng (object), mảng (mảng), v.v. thành chuỗi và lưu trữ chúng ở những nơi khác chẳng hạn như. cơ sở dữ liệu, Phiên, Cookie, v.v. Hoạt động tuần tự hóa không làm mất loại và cấu trúc của các giá trị này. Bằng cách này, dữ liệu của các biến này có thể được truyền giữa các trang PHP và thậm chí các chương trình PHP khác nhau. Và unserialize() chuyển đổi chuỗi được tuần tự hóa trở lại giá trị PHP.

Đây là một lời giải thích khác từ hướng dẫn sử dụng PHP. Sau khi đọc ví dụ trên, bạn sẽ dễ hiểu ý nghĩa của các từ sau. Nếu bạn muốn thay đổi chuỗi được tuần tự hóa trở lại giá trị PHP, bạn có thể sử dụng unserialize(). serialize() có thể xử lý bất kỳ loại nào ngoại trừ tài nguyên. Bạn thậm chí có thể tuần tự hóa các mảng có chứa các tham chiếu đến chính chúng. Các tham chiếu trong mảng/đối tượng mà bạn đang sắp xếp theo thứ tự() cũng sẽ được lưu trữ.

Khi tuần tự hóa một đối tượng, PHP sẽ cố gắng gọi hàm thành viên của đối tượng __sleep() trước hành động tuần tự. Điều này cho phép mọi thao tác dọn dẹp được thực hiện trước khi đối tượng được tuần tự hóa. Tương tự, khi sử dụng unserialize() để khôi phục một đối tượng, hàm thành viên __wakeup() unserialize() sẽ được gọi để hoạt động trên một biến được tuần tự hóa duy nhất và chuyển đổi nó trở lại giá trị PHP. Giá trị được trả về là giá trị được chuyển đổi, có thể là số nguyên, float, chuỗi, mảng hoặc đối tượng. Trả về FALSE nếu chuỗi đã truyền không thể giải tuần tự hóa được.

Trên đây là giải thích chi tiết về các ví dụ về hàm tuần tự hóa và giải tuần tự hóa PHP được trình soạn thảo giới thiệu. Tôi hy vọng nó sẽ hữu ích cho bạn. Nếu bạn có bất kỳ câu hỏi nào, vui lòng để lại tin nhắn cho tôi và trình soạn thảo sẽ trả lời bạn kịp thời. Tôi cũng xin cảm ơn mọi người đã ủng hộ trang web của tôi! .

Liên kết gốc: http://www.cnblogs.com/yuxb/p/6792413.html.

Cuối cùng, bài viết này về giải thích chi tiết về các phiên bản hàm tuần tự hóa và giải tuần tự hóa PHP kết thúc ở đây. Nếu bạn muốn biết thêm về giải thích chi tiết về các phiên bản hàm tuần tự hóa và giải tuần tự hóa PHP, vui lòng tìm kiếm các bài viết CFSDN hoặc tiếp tục duyệt qua các bài viết liên quan. bạn sẽ ủng hộ blog của tôi trong tương lai! .

27 4 0
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress