Hướng dẫn how to unserialize data from database in php - cách hủy số liệu hóa dữ liệu từ cơ sở dữ liệu trong php

2

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Làm thế nào có thể giải phóng, dữ liệu được lưu trữ trong cơ sở dữ liệu với sê -ri? Xin vui lòng cho tôi ví dụ.
Please give me example.

$result = array();
foreach ($upload_data as $file) {
  $result[] = $file['file'];
}
$insert_to_database = serialize($result);
//This inserted in database, I want unserialize this output
output: a:2:{i:0;s:55:"Chrysanthemum18.jpg";i:1;s:48:"Desert18.jpg";} 

Hướng dẫn how to unserialize data from database in php - cách hủy số liệu hóa dữ liệu từ cơ sở dữ liệu trong php

Hakre

187K48 Huy hiệu vàng419 Huy hiệu bạc807 Huy hiệu đồng48 gold badges419 silver badges807 bronze badges

Hỏi ngày 25 tháng 7 năm 2011 lúc 16:41Jul 25, 2011 at 16:41

4

Sử dụng unserialize ()

$var = array('a', 'b', 'c');
$var = serialize($var);
var_dump($var); // string(42) "a:3:{i:0;s:1:"a";i:1;s:1:"b";i:2;s:1:"c";}"
$var = unserialize($var);
echo $var[0]; // 'a'

Đã trả lời ngày 25 tháng 7 năm 2011 lúc 16:45Jul 25, 2011 at 16:45

LepidosteuslepidosteusLepidosteus

Huy hiệu vàng 11.5k436 Huy hiệu bạc51 Huy hiệu đồng4 gold badges36 silver badges51 bronze badges

2

Giả sử bạn sử dụng CI AR để truy xuất dữ liệu tuần tự hóa ...

$qry = $this->db->select('your_serialized_field')
                 ->from('some_table')
                 ->get();
$serialized_data = $qry->result_array();
$unserialized_data = array();
// Then for every record...
foreach($serialized_data as $single_record)
{
   $unserialized_data[] = unserialize($single_record);
}
// You now can see your array
var_dump($unserialized_data);

Đã trả lời ngày 25 tháng 7 năm 2011 lúc 17:31Jul 25, 2011 at 17:31

Hướng dẫn how to unserialize data from database in php - cách hủy số liệu hóa dữ liệu từ cơ sở dữ liệu trong php

toopaytoopaytoopay

1.62511 huy hiệu bạc18 Huy hiệu đồng11 silver badges18 bronze badges

Một mảng là một cấu trúc phức tạp có thể cần được tuần tự hóa để làm việc với các ứng dụng bên ngoài của PHP. Sau này trong mã, một khi chúng tôi đã xử lý các ngôn ngữ hoặc ứng dụng bên ngoài, chúng tôi có thể cần chuyển đổi nó trở lại thành một mảng. Và chúng tôi làm điều này thông qua chức năng unserialize.

Mã PHP bên dưới tuần tự hóa một mảng và sau đó giải phóng dữ liệu được nối tiếp trở lại thành một mảng.

Mã PHP này mang lại những điều sau đây được hiển thị bên dưới.

Đây là mảng tuần tự được hiển thị bên dưới: 'A: 4: {i: 0; s: 4: "Blue"; I: 1; S: 6: "Orange"; I: 2; i: 3; s: 5: "xanh";} '
$data = serialize(array("Red", "Green", "Blue"));
echo $data . "
";

Đây là mảng không được hiển thị dưới đây:
var_dump($test);
?>

Vì vậy, nó thực sự là cùng một nguyên tắc, ngay bây giờ với các mảng.


Chúng tôi tạo ra một mảng, tuần tự hóa nó, hiển thị mảng tuần tự hóa, sau đó không thể giải thích được nó, lấy lại mảng PHP gốc ban đầu. Sau đó, chúng tôi xuất ra mảng thông qua hàm print_r (). Chúng tôi sử dụng các thẻ pre chỉ để làm cho mảng dễ đọc hơn.

Và đây là tất cả những gì được yêu cầu để giải phóng dữ liệu trong PHP.


Tài nguyên liên quan

Làm thế nào để tôi giải phóng dữ liệu trong PHP?

Php unserialize function $ data = serialize (mảng ("màu đỏ", "màu xanh lá cây", "xanh")); echo $ data. ""; $ Test = unserialize ($ data);

Làm thế nào để tôi vô hiệu hóa một chuỗi trong PHP?Hàm unserialize (): unserialize () là một hàm pHP sẵn có được sử dụng để không xác định mảng được nối tiếp đã cho để quay lại giá trị ban đầu của mảng phức, $ myvar. print_r ($ newvar);
Làm thế nào tôi có thể truy cập dữ liệu biểu mẫu được tuần tự hóa trong PHP?Để có được các giá trị bài từ serializearray trong PHP, hãy sử dụng phương thức serializeArray (). Phương thức serializearray () tuần tự hóa tất cả các dạng và các yếu tố hình thức như. Phương thức serialize () nhưng trả về cấu trúc dữ liệu JSON để bạn làm việc.
Tính tuần tự hóa trong PHP với ví dụ là gì?Định nghĩa và sử dụng hàm serialize () chuyển đổi một biểu diễn có thể lưu trữ của một giá trị. Để tuần tự hóa dữ liệu có nghĩa là chuyển đổi giá trị thành một chuỗi các bit, để nó có thể được lưu trữ trong một tệp, bộ đệm bộ nhớ hoặc truyền qua mạng.

Chi tiết kỹ thuật

Giá trị trở lại:Giá trị chuyển đổi. Có thể là một boolean, số nguyên, float, chuỗi, mảng hoặc đối tượng. Sai và một e_notice về thất bại
Loại trở lại:Boolean, số nguyên, float, chuỗi, mảng hoặc đối tượng
Phiên bản PHP:4.0+
PHP Changelog:Php 7.0: Đã thêm tham số Tùy chọn

❮ Tham chiếu xử lý biến PHP


Hướng dẫn how to unserialize data from database in php - cách hủy số liệu hóa dữ liệu từ cơ sở dữ liệu trong php

Trong bài viết này, chúng tôi chỉ ra cách giải phóng một đối tượng hoặc mảng trong

Bằng cách tuần tự hóa dữ liệu, một đối tượng hoặc một mảng, chúng tôi có nghĩa là chúng tôi chuyển đổi dữ liệu thành định dạng văn bản đơn giản. Bằng cách giải phóng dữ liệu, chúng tôi chuyển đổi nó trở lại mã PHP gốc.

Vì vậy, nếu chúng ta tuần tự hóa một đối tượng, chúng ta sẽ biến nó thành một chuỗi văn bản đơn giản. Nếu chúng ta bất ổn hóa nó, chúng ta sẽ lấy lại đối tượng trước đây của chúng ta, như là, trong PHP.

Tại sao một đối tượng cần được nối tiếp?

Một đối tượng thường được tuần tự hóa khi làm việc với các ứng dụng và ngôn ngữ bên ngoài PHP. Điều này là do các ngôn ngữ khác không thể hiểu mã PHP gốc, đặc biệt là các cấu trúc dữ liệu phức tạp như mảng và đối tượng. Do đó, chúng tôi tuần tự hóa dữ liệu vì sau đó nó trở thành định dạng văn bản đơn giản, mà các ngôn ngữ khác có thể hiểu. Vì vậy, chúng tôi có thể sử dụng dữ liệu tuần tự hóa và các ngôn ngữ khác có thể hoạt động trực tiếp với nó, cho dù đó là cơ sở dữ liệu MySQL hay JavaScript. Vì vậy, chúng tôi có thể tuần tự hóa dữ liệu để nó hoạt động với các ngôn ngữ và ứng dụng khác bên ngoài PHP.

Tuy nhiên, khi chúng tôi hoàn thành các ứng dụng bên ngoài, chúng tôi có thể muốn chuyển đổi trở lại được nối tiếp thành dạng không bị không chủ yếu hóa ban đầu của nó (có nghĩa là trở lại PHP gốc thông thường).

Vì vậy, một lần nữa, dữ liệu unserialization được thực hiện thông qua chức năng unserialize.

Dưới đây là một ví dụ về một mã tuần tự hóa một đối tượng và sau đó giải phóng đối tượng.

Làm mất tinh thần một đối tượng

Vì vậy, bây giờ chúng tôi sẽ chỉ ra cách giải phóng một đối tượng trong PHP.

Điều này chuyển đổi đối tượng thành một chuỗi văn bản đơn giản và sau đó chuyển đổi chuỗi văn bản đơn giản trở lại thành một ojbect.

Dưới đây là mã PHP tuần tự hóa và giải phóng một đối tượng trong PHP và xuất ra cả dữ liệu tuần tự hóa và dữ liệu không bị ảnh hưởng.

Đầu ra PHP của mã này được hiển thị bên dưới.

Đầu ra PHP thực tế


Đây là dữ liệu tuần tự được hiển thị bên dưới: 'O: 4: "ô tô": 1: {s: 5: "màu"; S: 3: "Red";}'
'O:4:"cars":1:{s:5:"color";s:3:"red";}'

Đây là dữ liệu không được hiển thị bên dưới: Object (Cars)#2 (1) {["color"] => String (3) "Red"} Thuộc tính đối tượng: màu đỏ
object(cars)#2 (1) { ["color"]=> string(3) "red" }
Object property:red

Vì vậy, bạn có thể thấy đầu ra ở trên.

Chúng tôi sẽ giải thích mã của nó bây giờ dưới đây.

Vì vậy, chúng tôi tạo ra một lớp học gọi là ô tô. Bên trong chúng tôi đặt một tài sản công cộng $ Màu sắc.

Ngay bên dưới lớp này, chúng tôi khởi tạo một đối tượng của lớp, $ CAR1. Đây là một đối tượng của lớp xe.

Chúng tôi đặt thuộc tính màu của chiếc xe này bằng màu đỏ.

Sau đó, chúng tôi tuần tự hóa đối tượng $ CAR1 này và lưu trữ dữ liệu tuần tự hóa vào biến $ car1_serialized.

Chúng tôi xuất dữ liệu tuần tự này, ở định dạng văn bản thuần túy trong một chuỗi.

Sau đó, chúng tôi không thể giải quyết được dữ liệu nối tiếp này thorugh functin unserialize ().

Sau đó, chúng tôi xuất ra sự cố của đối tượng thông qua hàm php var_dump ().

Chúng tôi cũng xuất thuộc tính màu của đối tượng $ cars1_unserialized để bạn có thể thấy rằng thực tế nó là một đối tượng trong đó chúng tôi tham khảo như một đối tượng (hiển thị đó là một đối tượng). Tất nhiên, bạn không phải gọi biến $ cars1_unserialized. Bạn có thể gọi nó là giá trị ban đầu $ CAR1 một lần nữa.



Làm mất một mảng

Theo cùng một cách mà chúng ta không thể giải quyết được một đối tượng, chúng ta có thể giải phóng một mảng.

Một mảng là một cấu trúc phức tạp có thể cần được tuần tự hóa để làm việc với các ứng dụng bên ngoài của PHP. Sau này trong mã, một khi chúng tôi đã xử lý các ngôn ngữ hoặc ứng dụng bên ngoài, chúng tôi có thể cần chuyển đổi nó trở lại thành một mảng. Và chúng tôi làm điều này thông qua chức năng unserialize.

Mã PHP bên dưới tuần tự hóa một mảng và sau đó giải phóng dữ liệu được nối tiếp trở lại thành một mảng.

Mã PHP này mang lại những điều sau đây được hiển thị bên dưới.

Đầu ra PHP thực tế


Đây là mảng tuần tự được hiển thị bên dưới: 'A: 4: {i: 0; s: 4: "Blue"; I: 1; S: 6: "Orange"; I: 2; i: 3; s: 5: "xanh";} '
: 'a:4:{i:0;s:4:"blue";i:1;s:6:"orange";i:2;s:5:"black";i:3;s:5:"green";}'

Đây là mảng không được hiển thị dưới đây:

Array
(
    [0] => blue
    [1] => orange
    [2] => black
    [3] => green
)
1

Vì vậy, nó thực sự là cùng một nguyên tắc, ngay bây giờ với các mảng.

Chúng tôi tạo ra một mảng, tuần tự hóa nó, hiển thị mảng tuần tự hóa, sau đó không thể giải thích được nó, lấy lại mảng PHP gốc ban đầu. Sau đó, chúng tôi xuất ra mảng thông qua hàm print_r (). Chúng tôi sử dụng các thẻ pre chỉ để làm cho mảng dễ đọc hơn.

Và đây là tất cả những gì được yêu cầu để giải phóng dữ liệu trong PHP.

Tài nguyên liên quan

Làm thế nào để tôi giải phóng dữ liệu trong PHP?

Php unserialize function $ data = serialize (mảng ("màu đỏ", "màu xanh lá cây", "xanh")); echo $ data. ""; $ Test = unserialize ($ data);$data = serialize(array("Red", "Green", "Blue")); echo $data . "
";
$test = unserialize($data);

Làm thế nào để tôi vô hiệu hóa một chuỗi trong PHP?

Hàm unserialize (): unserialize () là một hàm pHP sẵn có được sử dụng để không xác định mảng được nối tiếp đã cho để quay lại giá trị ban đầu của mảng phức, $ myvar.print_r ($ newvar);: The unserialize() is an inbuilt function php that is used to unserialize the given serialized array to get back to the original value of the complex array, $myvar. print_r( $newvar );

Làm thế nào tôi có thể truy cập dữ liệu biểu mẫu được tuần tự hóa trong PHP?

Để có được các giá trị bài từ serializearray trong PHP, hãy sử dụng phương thức serializeArray ().Phương thức serializearray () tuần tự hóa tất cả các dạng và các yếu tố hình thức như.Phương thức serialize () nhưng trả về cấu trúc dữ liệu JSON để bạn làm việc.use the serializeArray() method. The serializeArray( ) method serializes all forms and form elements like the . serialize() method but returns a JSON data structure for you to work with.

Tính tuần tự hóa trong PHP với ví dụ là gì?

Định nghĩa và sử dụng hàm serialize () chuyển đổi một biểu diễn có thể lưu trữ của một giá trị.Để tuần tự hóa dữ liệu có nghĩa là chuyển đổi giá trị thành một chuỗi các bit, để nó có thể được lưu trữ trong một tệp, bộ đệm bộ nhớ hoặc truyền qua mạng.converts a storable representation of a value. To serialize data means to convert a value to a sequence of bits, so that it can be stored in a file, a memory buffer, or transmitted across a network.