PHP 함수 serialize() 및 unserialize() 사용 예_php 팁
이 기사의 예에서는 PHP 함수 serialize() 및 unserialize()의 사용법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 방법은 다음과 같습니다.
이 예제에서는 주로 PHP 함수 serialize() 및 unserialize()에 대한 설명과 사례를 설명합니다. 직렬화된 문자열을 다시 PHP 값으로 변환하려면 unserialize()를 사용하세요. serialize()는 리소스를 제외한 모든 유형을 처리할 수 있습니다. 자신에 대한 참조가 포함된 배열을 serialize()할 수도 있습니다. 직렬화()하는 배열/객체의 참조도 저장됩니다.
serialize()는 값을 나타내는 바이트 스트림을 포함하고 어디에나 저장할 수 있는 문자열을 반환합니다. 이를 통해 유형과 구조를 잃지 않고 PHP 값을 저장하거나 전달할 수 있습니다.
직렬화된 문자열을 다시 PHP 값으로 변경하려면 unserialize()를 사용하면 됩니다. serialize()는 리소스를 제외한 모든 유형을 처리할 수 있습니다. 자신에 대한 참조가 포함된 배열을 serialize()할 수도 있습니다. 직렬화()하는 배열/객체의 참조도 저장됩니다.
객체를 직렬화할 때 PHP는 시퀀스 작업 전에 객체의 멤버 함수 __sleep()을 호출하려고 시도합니다. 이를 통해 객체가 직렬화되기 전에 모든 정리 작업을 수행할 수 있습니다. 마찬가지로, unserialize()를 사용하여 객체를 복원하면 __wakeup() 멤버 함수가 호출됩니다.
참고: PHP 3에서는 객체 속성이 직렬화되지만 메서드는 손실됩니다. PHP 4는 이러한 제한을 깨고 속성과 메서드를 모두 저장할 수 있습니다. 자세한 내용은 클래스 및 개체의 직렬화된 개체 섹션을 참조하세요.
PHP 매뉴얼의 serialize() 및 unserialize()에 대한 설명은 다음과 같습니다.
serialize — 저장 가능한 값 표현을 생성합니다
serialize — 저장 가능한 값 표현 생성
unserialize — 저장된 표현에서 PHP 값을 생성합니다
unserialize — 저장된 표현에서 PHP 값을 생성합니다
직렬화, "직렬화, 연속화"로 번역됨, 일반적으로 "직렬화"라고 함
이 기능은 특히 unserialize와 함께 사용할 때 매우 유용합니다
데이터를 데이터베이스에 저장하거나 파일에 기록할 때 더 유용한 곳인 것 같아요
물론 이런 종류의 데이터는 상대적으로 복잡해야 하며(복잡하지도 않고 직렬화할 필요도 없으며 적어도 배열이어야 한다고 생각합니다) 데이터베이스에서 "인덱스 또는 기본 키"가 아니어야 합니다. 물론 이 데이터베이스 필드는 시스템에 있는 것이 가장 좋으며 어떤 검색 프로그램과도 관련이 없습니다. 물론 특정 데이터가 암호화되거나 변경되지 않았기 때문에 직렬화 후에도 데이터를 검색할 수 있습니다.
$배열 = 배열();
$array['key'] = '웹사이트';
$array['value']='www.isoji.org';
$a = 직렬화($array);
에코 $a;
설정 해제($array);
$a = 직렬화 해제($a);
print_r($a);
//클래스 선언
개 클래스 {
var $name;
var $age;
var $owner;
function dog($in_name="unnamed",$in_age="0",$in_owner="unknown") {
$this->name = $in_name;
$this->age = $in_age;
$this->소유자 = $in_owner;
}
함수 getage() {
반환($this->age * 365);
}
함수 getowner() {
반환($this->owner);
}
함수 getname() {
return ($this->name);
}
}
//이 클래스를 인스턴스화
$ourfirstdog = 새 개("Rover",12,"Lisa and Graham");
//직렬화 함수를 사용하여 이 인스턴스를 직렬화된 문자열로 변환합니다
$dogdisc = 직렬화($ourfirstdog);
print $dogdisc; //$ourfirstdog는 문자열 O:3:"dog":3:{s:4:"name";s:5:"Rover";s:3:"age";i로 직렬화되었습니다. :12;s:5:"소유자";s:15:"리사와 그레이엄";}
인쇄 '
';
/*
여기서 세션, 쿠키, 데이터베이스, PHP 파일 등 어디에나 $dogdisc 문자열을 저장할 수 있습니다
*/
//여기서 이 클래스 등록을 취소합니다
설정되지 않음($ourfirstdog);
/* 복원 작업 */
/*
여기에서 세션, 쿠키, 데이터베이스, PHP 파일 등 저장 위치에서 $dogdisc 문자열을 읽어보세요.
*/
//여기서는 직렬화된 객체를 복원하기 위해 unserialize()를 사용합니다
$pet = unserialize($dogdisc); //이 시점의 $pet은 이미 이전 $ourfirstdog 객체입니다
//나이 및 이름 속성 가져오기
$old = $pet->getage();
$name = $pet->getname();
//이 클래스는 현재 인스턴스화 없이 계속 사용할 수 있으며, 속성과 값은 직렬화 전 상태를 유지합니다
print "우리의 첫 번째 개는 $name이라고 불리며 $old days
입니다.";
인쇄 '
';
?>
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

CakePHP에서 데이터베이스 작업은 매우 쉽습니다. 이번 장에서는 CRUD(생성, 읽기, 업데이트, 삭제) 작업을 이해하겠습니다.
