이전 글 "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( 'id' => 2, 'name' => '李娜', 'age' => 23, 'sex' => '女', 'college' => "软件技术", 'subject' => "PHP编程" ); //将数据写入缓存文件 $content = "<?php\nreturn ".var_export($cache,true)."\n?>"; //这里使用var_export() file_put_contents('./cache.php', $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中,现在的内容为:
调用缓存文件的时候只需要使用require()即可将缓存文件的内容复制给一个变量,然后输出这个数组变量即可:
<?php $cache = require('./cache.php'); var_dump($cache); ?>
输出结果为:
方法2:利用serialize方法
使用 serialize 将数组序列化,存储在文件中;调用时,再使用 unserialize 还原。
我们通过下面示例来看看利用serialize()函数怎么将数组数据存入文件
<?php $file='./cache.php'; $cache = array( 'id' => 2, 'name' => '李娜', 'age' => 23, 'sex' => '女', 'college' => "软件技术", 'subject' => "PHP编程" ); //缓存 if(false!==fopen($file,'w+')){ file_put_contents($file,serialize($cache));//写入缓存 } ?>
使用file_put_contents($file,serialize($cache))
이 함수는 함수에 전달된 변수에 대한 구조적 정보를 반환합니다. 반환된 표현이 합법적인 PHP 코드라는 점을 제외하면 var_dump()와 유사합니다. 함수의 두 번째 매개변수를 TRUE로 설정하여 변수 표현을 반환할 수 있습니다.
다음 예를 통해 var_export() 함수를 사용하여 배열 데이터를 파일에 저장하는 방법을 살펴보겠습니다.
<?php //读出缓存 $file='./cache.php'; $handle=fopen($file,'r'); $cache=unserialize(fread($handle,filesize($file))); var_dump($cache); ?>
분석 코드:
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 파일 작업: 파일을 지우고 데이터를 다시 추가하는 방법》.
file_put_contents($file,serialize($cache))
를 사용하여 배열 데이터를 직렬화합니다. 캐시.php 파일에 저장됩니다. 따라서 처음에는 빈 파일이었던 캐시.php에서 현재 내용은 다음과 같습니다. 🎜🎜🎜🎜🎜캐시를 읽을 때 unserialize를 사용하여 캐시.php의 데이터를 복원해야 합니다🎜rrreee🎜출력 결과 is: 🎜🎜🎜🎜🎜 좋습니다. 더 알고 싶으시면 여기를 클릭하세요. → →🎜PHP 파일의 기본 조작🎜🎜🎜🎜추천: 🎜"🎜PHP 면접 질문 모음(모음)🎜" "🎜php 동영상 튜토리얼🎜"🎜위 내용은 PHP 파일 작업: 배열 데이터를 파일에 저장하는 방법(두 가지 방법)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!