>백엔드 개발 >PHP 문제 >PHP 배열을 완전히 저장하는 방법

PHP 배열을 완전히 저장하는 방법

PHPz
PHPz원래의
2023-04-24 14:49:471039검색

PHP 프로그래밍에서 배열은 일련의 관련 데이터를 저장하는 데 일반적으로 사용되는 데이터 유형입니다. 때로는 다음에 사용할 수 있도록 배열의 데이터를 파일이나 데이터베이스에 저장해야 할 때가 있습니다. 이 기사에서는 PHP 배열을 완전히 저장하는 방법을 소개합니다.

1. 파일을 사용하여 배열 저장

파일을 사용하여 배열을 저장하기 전에 먼저 빈 파일을 만들어야 합니다. 이 작업은 file_put_contents() 함수를 사용하여 수행할 수 있습니다:

$file = 'array.txt';
file_put_contents($file, '');

다음으로, serialize() 함수를 사용하여 배열을 직렬화하고 파일에 쓸 수 있습니다:

$array = array('apple', 'orange', 'banana');
$data = serialize($array);
file_put_contents($file, $data);

저장된 배열을 다시 읽어야 하는 경우, file_get_contents( ) 함수를 사용하면 파일에서 데이터를 읽고 unserialize() 함수를 사용하여 이를 배열로 역직렬화할 수 있습니다.

$data = file_get_contents($file);
$array = unserialize($data);
print_r($array);

이 방법을 사용하여 배열을 저장하면 키와 값을 포함한 배열 무결성이 보장됩니다. 그러나 이 파일에 저장된 데이터는 읽을 수 없으며 PHP 프로그램 간의 데이터 전송 및 저장에만 적합하다는 점에 유의해야 합니다.

2. JSON 형식을 사용하여 배열 저장

JSON 형식은 읽고 쓰기 쉬운 경량 데이터 교환 형식입니다. PHP는 PHP 배열을 JSON 형식으로 쉽게 변환하고 다시 되돌릴 수 있는 json_encode() 및 json_decode() 함수를 제공합니다.

$array = array('apple', 'orange', 'banana');
$json = json_encode($array);
file_put_contents($file, $json);

저장된 JSON 형식 데이터를 읽고 이를 PHP 배열로 변환해야 하는 경우 file_get_contents() 함수를 사용할 수 있습니다. 데이터를 읽고 json_decode() 함수를 사용하여 배열로 변환합니다.

$json = file_get_contents($file);
$array = json_decode($json, true);
print_r($array);

직렬화와 비교하여 배열을 JSON 형식으로 저장하면 데이터를 더 쉽게 읽고 구문 분석할 수 있으며 더 다양한 용도로 사용할 수 있습니다. 하지만 JSON 형식은 바이너리 데이터는 물론 직렬화도 지원하지 않기 때문에 이미지와 같은 바이너리 데이터를 저장하는 데는 적합하지 않다는 점에 유의해야 합니다.

3. 데이터베이스를 사용하여 배열을 저장합니다.

배열을 데이터베이스에 저장하고 추가, 삭제, 수정, 검색 등의 작업을 쉽게 수행할 수 있습니다. 배열의 각 요소를 데이터베이스 필드에 저장할 수도 있고, 직렬화 또는 JSON 형식을 사용하여 전체 배열을 필드에 저장할 수도 있습니다.

MySQL 데이터베이스를 예로 들면, 먼저 데이터베이스에 연결해야 합니다. mysqli_connect() 함수를 사용하여 연결을 달성할 수 있습니다:

$host = 'localhost';
$user = 'root';
$password = '123456';
$dbname = 'mydatabase';
$mysqli = mysqli_connect($host, $user, $password, $dbname);
if (!$mysqli) {
    die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
}

다음으로 배열을 정의하고 데이터베이스에 저장할 수 있습니다:

$array = array('apple', 'orange', 'banana');
$data = serialize($array);
$sql = "INSERT INTO mytable (array_field) VALUES ('$data')";
if ($mysqli->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $mysqli->error;
}

저장된 배열을 읽어야 하는 경우 SELECT 문을 사용하여 쿼리할 수 있습니다. 데이터베이스를 만든 다음 결과를 반전시킵니다. 배열로 직렬화:

$sql = "SELECT array_field FROM mytable WHERE id=1";
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        $data = $row['array_field'];
        $array = unserialize($data);
        print_r($array);
    }
} else {
    echo "0 results";
}

이 방법을 사용하여 배열을 저장하면 배열의 무결성과 가독성이 결합됩니다. 다만, 큰 어레이를 저장하면 많은 양의 저장 공간을 차지할 수 있으므로 실제 상황에 따라 적절한 저장 방법을 선택해야 한다는 점에 유의해야 합니다.

요약

이 기사에서는 직렬화, JSON 형식 및 데이터베이스를 포함하여 PHP 배열을 저장하는 세 가지 일반적인 방법을 소개합니다. 데이터 무결성과 가독성을 보장하려면 실제 상황에 따라 적절한 저장 방법을 선택해야 합니다.

위 내용은 PHP 배열을 완전히 저장하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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