>백엔드 개발 >PHP 문제 >PHP 파일 작업: 배열 데이터를 파일에 저장하는 방법(두 가지 방법)

PHP 파일 작업: 배열 데이터를 파일에 저장하는 방법(두 가지 방법)

青灯夜游
青灯夜游원래의
2021-08-30 19:04:416647검색

이전 글 "PHP를 이용하여 null 값을 확인하는 방법(4가지 방법)"에서는 PHP를 이용하여 주어진 값(변수)이 null인지 확인하는 방법을 소개했습니다. 이번에는 PHP의 데이터 저장에 대해 이야기하고 배열 데이터를 지정된 파일에 저장하는 방법에 대해 알아보겠습니다. 관심 있는 친구들은 그것에 대해 배울 수 있습니다~

→관련 권장 사항: php 파일 작업 시리즈 요약(지속적으로 업데이트됨) ~)

개발 과정에서 배열 내용을 출력하기 위해 var_dump()를 자주 사용하는데, 브라우저를 통해 디버깅 정보를 보는 것이 불편할 때도 있습니다. 이때 정보를 파일로 출력하여 볼 수 있습니다. 오늘 이 글에서는 배열 데이터를 파일에 쓰는 두 가지 방법을 소개하겠습니다.

방법 1: var_export() 함수 사용

var_export - 변수의 구문 분석 가능한 문자열 표현을 출력하거나 반환

구문: ​​var_export(mixed $value, bool $return = false) code ><code>var_export(mixed $value, bool $return = false)

  • value:想要输出的变量名。

  • return:此参数为 true 时,var_export() 将返回一个变量,而不是输出它。

此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。我们可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。 

我们通过下面示例来看看利用var_export()函数怎么将数组数据存入文件

<?php
//$cache的值是更新缓存时从数据库中取出来的
$cache = array(
    &#39;id&#39;            =>  2,
    &#39;name&#39;          =>  &#39;李娜&#39;, 
    &#39;age&#39;           =>  23,
    &#39;sex&#39;           =>  &#39;女&#39;,
    &#39;college&#39;       =>  "软件技术",
    &#39;subject&#39;       =>  "PHP编程"
); 

//将数据写入缓存文件
$content = "<?php\nreturn ".var_export($cache,true)."\n?>";    //这里使用var_export()
file_put_contents(&#39;./cache.php&#39;, $content);
?>

分析代码:

  • 利用var_export($cache,true)返回数组变量的可解析字符串

  • $content = "<?phpnreturn ".var_export($cache,true)."n?>"; 拼接字符串,并赋值给变量$content;

  • file_put_contents('./cache.php', $content)在cache.php文件中写入数据$content

    file_put_contents()函数可以把一个字符串写入文件中,具体可阅读文章《php文件操作之如何清空文件重新添加数据》。

因此一开始为空文件的cache.php中,现在的内容为:

PHP 파일 작업: 배열 데이터를 파일에 저장하는 방법(두 가지 방법)

调用缓存文件的时候只需要使用require()即可将缓存文件的内容复制给一个变量,然后输出这个数组变量即可:

<?php
$cache = require(&#39;./cache.php&#39;);
var_dump($cache);
?>

输出结果为:

PHP 파일 작업: 배열 데이터를 파일에 저장하는 방법(두 가지 방법)

方法2:利用serialize方法

使用 serialize 将数组序列化,存储在文件中;调用时,再使用 unserialize 还原。

我们通过下面示例来看看利用serialize()函数怎么将数组数据存入文件

<?php
$file=&#39;./cache.php&#39;; 
$cache = array(
    &#39;id&#39;            =>  2,
    &#39;name&#39;          =>  &#39;李娜&#39;, 
    &#39;age&#39;           =>  23,
    &#39;sex&#39;           =>  &#39;女&#39;,
    &#39;college&#39;       =>  "软件技术",
    &#39;subject&#39;       =>  "PHP编程"
); 
//缓存 
if(false!==fopen($file,&#39;w+&#39;)){ 
  file_put_contents($file,serialize($cache));//写入缓存 
} 
?>

使用file_put_contents($file,serialize($cache))

  • value: 출력하려는 ​​변수 이름입니다.

  • PHP 파일 작업: 배열 데이터를 파일에 저장하는 방법(두 가지 방법)return: 이 매개변수가 true이면 var_export()는 변수를 출력하는 대신 반환합니다.

이 함수는 함수에 전달된 변수에 대한 구조적 정보를 반환합니다. 반환된 표현이 합법적인 PHP 코드라는 점을 제외하면 var_dump()와 유사합니다. 함수의 두 번째 매개변수를 TRUE로 설정하여 변수 표현을 반환할 수 있습니다.

다음 예를 통해 var_export() 함수를 사용하여 배열 데이터를 파일에 저장하는 방법을 살펴보겠습니다.

<?php
//读出缓存 
$file=&#39;./cache.php&#39;; 
$handle=fopen($file,&#39;r&#39;); 
$cache=unserialize(fread($handle,filesize($file))); 
var_dump($cache);
?>

분석 코드: PHP 파일 작업: 배열 데이터를 파일에 저장하는 방법(두 가지 방법)

처음에는 빈 파일이었던 캐시.php에 이제 다음 내용이 포함됩니다:
PHP 파일 작업: 배열 데이터를 파일에 저장하는 방법(두 가지 방법)🎜캐시 파일 호출 시 require()를 사용하여 캐시 파일 내용만 복사하면 됩니다. 캐시 파일을 A 변수에 저장한 후 이 배열 변수를 출력합니다: 🎜rrreee🎜출력 결과는 다음과 같습니다: 🎜🎜🎜🎜🎜🎜방법 2: 직렬화 방법 사용🎜🎜🎜🎜직렬화를 사용하여 배열을 직렬화하고 파일에 저장합니다. 호출할 때 다음을 사용하세요. 복원하려면 직렬화를 해제하세요. 🎜🎜다음 예를 통해 serialize() 함수를 사용하여 배열 데이터를 파일에 저장하는 방법을 살펴보겠습니다.🎜rrreee🎜file_put_contents($file,serialize($cache))를 사용하여 배열 데이터를 직렬화합니다. 캐시.php 파일에 저장됩니다. 따라서 처음에는 빈 파일이었던 캐시.php에서 현재 내용은 다음과 같습니다. 🎜🎜🎜🎜🎜캐시를 읽을 때 unserialize를 사용하여 캐시.php의 데이터를 복원해야 합니다🎜rrreee🎜출력 결과 is: 🎜🎜🎜🎜🎜 좋습니다. 더 알고 싶으시면 여기를 클릭하세요. → →🎜PHP 파일의 기본 조작🎜🎜🎜🎜추천: 🎜"🎜PHP 면접 질문 모음(모음)🎜" "🎜php 동영상 튜토리얼🎜"🎜

위 내용은 PHP 파일 작업: 배열 데이터를 파일에 저장하는 방법(두 가지 방법)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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