>  기사  >  백엔드 개발  >  PHP 직렬화 배열

PHP 직렬화 배열

王林
王林원래의
2024-08-29 12:45:46849검색

PHP 배열 직렬화 함수는 주어진 배열을 직렬화하고 값의 저장 가능한 표현을 변환하는 데 사용됩니다. 배열 직렬화 함수는 PHP에 내장된 함수입니다. 데이터 직렬화는 값을 비트 시퀀스로 변환하여 메모리 버퍼, 파일에 저장하거나 네트워크를 통해 전송하는 것을 의미합니다. 배열은 복잡한 데이터 유형입니다. 우리는 그 내용을 직접 볼 수 없습니다. serialize() 함수는 배열을 파일에 저장하고 네트워크를 통해 URL 등으로 전송할 수 있는 간단한 문자열로 변환합니다.

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

배열 직렬화 함수의 구문 –

직렬화(배열);

매개변수 –

  • array – 이는 직렬화되거나 저장 가능한 표현으로 변환될 배열 또는 값을 지정하는 선택적 매개변수가 아닙니다.
  • 반환 값 – 이 메서드의 반환 값은 저장하거나 보낼 수 있는 배열의 바이트 스트림 표현인 문자열입니다.

PHP 직렬화 배열 기능 작동

PHP serialize() 배열 함수는 하나의 매개변수를 필수 매개변수인 ( 배열/값 )로 받아들입니다. 파일에 저장하려는 배열(1, 2, 3, 4)이 있다고 가정합니다. 먼저 serialize(array) 함수를 호출하여 배열을 직렬화해야 합니다. 이 함수는 배열을 직렬화하고 문자열 변환을 반환합니다. 배열은 "a:4:{i:0;i:1;i:1;i:2;i:2;i:3;i:3;i:4;}"로, 더 멀리 저장할 수 있습니다. 파일을 전송하거나 네트워크를 통해 전송하세요.

PHP serialize() 배열 함수의 예

아래에 언급된 예시는 다음과 같습니다

예시 #1

복잡한 배열을 직렬화하는 serialize() 배열 함수의 예 –

다음으로, 다음 예제를 통해 serialize() 배열 함수를 더 명확하게 이해하기 위해 PHP 코드를 작성합니다. 여기서 serialize() 함수는 아래와 같이 주어진 배열을 직렬화하는 데 사용됩니다 –

코드:

<?php
// create complex array
$array = array( 'text', 200, 400, 'apple', array( 2, 'two', 3, 'three' ) );
// printing complex array
print("The complex array is : ");
print_r( $array );
print( "<br>");
// serialize the complex array
$array_string = serialize( $array );
// printing the serialize array
print( "The serialize array is : " );
print( $array_string );
print( "<br>");
// unserializing the serialized array
$unser_array = unserialize( $array_string );
// printing the unserialized array
print_r( $unser_array );
?>

출력:

PHP 직렬화 배열

위 코드와 마찬가지로 복잡한 배열은 배열의 바이트 스트림 또는 문자열 변환을 반환하는 serialize() 함수를 사용하여 생성되고 직렬화됩니다. 또한 직렬화된 배열은 unserialize() 함수를 사용하여 다시 배열로 변환되는데, 이는 위 출력에서 ​​볼 수 있듯이 원래 배열과 동일합니다.

예시 #2

배열을 직렬화하여 파일에 저장하는 serialize() 배열 함수의 예 –

다음으로, 다음 예제를 통해 serialize() 배열 함수를 더 명확하게 이해하기 위해 PHP 코드를 작성합니다. 여기서 serialize() 함수는 아래와 같이 주어진 배열을 직렬화하고 이를 텍스트 파일에 영구적으로 저장하는 데 사용됩니다.

코드:

<?php
// create an array
$array = array( 'apple', 'banana', 'mango', 'orange', 'cherry' );
// printing complex array
print("The array is : ");
print_r( $array );
print( "<br>");
// serialize the complex array
$array_string = serialize( $array );
// printing the serialize array
print( "The serialize array is : " );
print( $array_string );
print( "<br>");
// save the array string to a Ex text file
file_put_contents('Ex.txt', $array_string);
// access back the data from the save text file.
$file_array = file_get_contents('Ex.txt');
// printing the file array
print( "The serialize file array is : " );
print( $file_array );
print( "<br>");
// unserializing the serialized array
$unser_array = unserialize( $file_array );
// printing the unserialized array
print( "The unserialize file array is : " );
print_r( $unser_array );
print( "<br>");
?>

출력:

PHP 직렬화 배열

Ex.txt 파일을 확인해보면 내용은 –

PHP 직렬화 배열

위 코드와 같이 복합 배열이 생성되고 직렬화됩니다. 직렬화된 배열은 텍스트 파일에 영구적으로 저장됩니다. 또한 저장된 직렬 배열을 다시 읽어서 unserialize() 함수를 사용하여 배열로 변환하는데, 이는 위 출력에서 ​​볼 수 있듯이 원래 배열과 동일합니다.

예시 #3

배열을 직렬화하고 인코딩하는 serialize() 배열 함수의 예 –

다음으로, serialize() 배열 함수를 이해하기 위해 PHP 코드를 작성합니다. 여기서 serialize() 함수는 주어진 배열을 직렬화하고 이를 URL로 인코딩하여 아래와 같이 여러 페이지에 걸쳐 전송합니다 –

코드:

<?php
// create an array
$array = array (
1 => "one",
2 => "two",
3 => "three"
);
// printing an array
print("The array is : ");
print_r( $array );
print( "<br>");
// serialize the complex array
$array_string = serialize( $array );
// printing the serialize array
print( "The serialize array is : " );
print( $array_string );
print( "<br>");
// encode the array string
$enc_array = urlencode( $array_string );
print( "The encode serialize array is : " );
print( $enc_array );
print( "<br>");
// deencode the encoded array string
$dec_array = urldecode( $enc_array );
// printing the file array
print( "The deencode serialized array is : " );
print( $dec_array );
print( "<br>");
?>

출력:

PHP 직렬화 배열

위 코드와 같이 복합 배열이 생성되고 직렬화됩니다. 직렬화된 배열은 urlencode() 함수를 사용하여 인코딩됩니다. 또한 인코딩된 직렬 배열은 위 출력에서 ​​볼 수 있듯이 원래 배열과 동일한 urldecode() 함수를 사용하여 배열로 디코딩됩니다.

결론

PHP Zip 파일은 여러 파일이나 디렉토리를 압축된 형식으로 함께 저장하는 데 사용되며 나중에 압축을 풀 수도 있습니다.

위 내용은 PHP 직렬화 배열의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:PHP 배열_푸시()다음 기사:PHP 배열_푸시()