>백엔드 개발 >PHP 문제 >PHP에서 외부 배열을 수신하는 방법

PHP에서 외부 배열을 수신하는 방법

PHPz
PHPz원래의
2023-04-27 09:11:20169검색

PHP는 웹 애플리케이션과 동적 웹사이트를 구축하는 데 도움이 되는 널리 사용되는 서버측 스크립팅 언어입니다. PHP에서는 외부로부터 데이터를 수신하고 이를 사용하여 다양한 작업을 수행해야 하는 경우가 많습니다. 그중에서도 외부 배열을 수신하는 것은 코드에 하드코딩하지 않고도 여러 값을 처리할 수 있게 해주기 때문에 매우 일반적인 작업입니다. 이 문서에서는 외부 배열을 수신하는 방법을 다루고 코드가 유효하고 안전한지 확인하기 위한 몇 가지 모범 사례를 제공합니다.

1. URL 매개변수에서 배열 수신

URL 매개변수는 URL에 지정된 쿼리 문자열로, 웹 서버에 추가 데이터를 전송하고 이를 PHP 스크립트에 전달하는 데 사용됩니다. 이러한 매개변수에는 배열을 포함한 모든 유형의 데이터가 포함될 수 있습니다. $_GET 배열을 사용하여 이러한 매개변수를 수신하고 이를 배열로 변환할 수 있습니다. 예는 다음과 같습니다.

<code>// URL: http://example.com?names[]=Alice&names[]=Bob&names[]=Charlie

$names = $_GET['names'];
print_r($names); // 输出 Array([0] => Alice [1] => Bob [2] => Charlie)</code>

이 예에서는 URL 매개변수를 사용하여 "names"라는 배열을 전달합니다. 먼저 $_GET 배열을 사용하여 이 매개변수를 얻은 다음 print_r 함수를 사용하여 배열의 내용을 인쇄합니다. 배열을 정의하기 위해 "[]" 기호를 사용했기 때문에 PHP는 자동으로 매개변수를 배열로 변환합니다.

2. POST 요청에서 배열 수신

URL 매개변수를 사용하여 배열을 전달하는 것 외에도 POST 메서드를 사용하여 PHP 스크립트에 데이터를 보낼 수도 있습니다. PHP에서는 $_POST 배열을 사용하여 이 데이터를 받을 수 있습니다. POST 요청에서 배열을 받으려면 배열을 양식의 양식 요소로 보내면 됩니다. 예는 다음과 같습니다.

<code><!-- HTML 表单 -->
<form action="process.php" method="post">
  <input type="text" name="names[]" value="Alice">
  <input type="text" name="names[]" value="Bob">
  <input type="text" name="names[]" value="Charlie">
  <input type="submit" value="提交">
</form>

<!-- PHP 脚本 -->
$names = $_POST['names'];
print_r($names); // 输出 Array([0] => Alice [1] => Bob [2] => Charlie)</code>

이 예에서는 HTML 양식에 "names"라는 배열을 만들고 양식 요소의 이름을 "names[]"로 설정합니다. 사용자가 양식을 제출하면 $_POST 배열을 사용하여 "names"라는 배열을 수신하고 print_r 함수를 사용하여 해당 내용을 인쇄할 수 있습니다.

3. JSON 문자열에서 배열 수신

HTTP 요청 외에도 JSON 형식을 사용하여 PHP 스크립트에 데이터를 전달할 수도 있습니다. JSON은 모든 유형의 데이터를 문자열로 직렬화하고 이를 다른 애플리케이션 간에 전달할 수 있는 경량 데이터 교환 형식입니다. PHP에서는 json_decode 함수를 사용하여 JSON 문자열을 배열로 변환할 수 있습니다. 예는 다음과 같습니다.

<code>// JSON 字符串
$json = '{"names": ["Alice", "Bob", "Charlie"]}';

// 将 JSON 字符串转化为数组
$data = json_decode($json, true);

// 输出数组
print_r($data['names']); // 输出 Array([0] => Alice [1] => Bob [2] => Charlie)</code>

이 예에서는 먼저 "names"라는 배열을 생성하고 이를 JSON 문자열로 직렬화합니다. 그런 다음 json_decode 함수를 사용하여 JSON 문자열을 배열로 변환하고 print_r 함수를 사용하여 배열의 내용을 인쇄합니다.

두 번째 매개변수를 true로 설정하지 않으면 json_decode 함수는 배열 대신 객체를 반환한다는 점에 유의해야 합니다.

4. 외부 배열 처리 모범 사례

외부에서 배열을 받을 때 코드의 유효성과 보안을 보장하기 위해 몇 가지 모범 사례를 고려해야 합니다. 다음은 몇 가지 모범 사례입니다.

  1. 배열 유효성 검사

외부 배열을 처리하기 전에 배열의 유효성을 검사하여 올바른 데이터가 포함되어 있는지 확인해야 합니다. 예를 들어 배열의 모든 값이 정수인지 문자열인지 확인할 수 있습니다. 이를 통해 SQL 주입 공격과 같은 몇 가지 일반적인 보안 취약점을 방지할 수 있습니다.

  1. 필터 사용

PHP는 입력 데이터를 필터링하고 검증하는 데 도움이 되는 몇 가지 내장 필터를 제공합니다. 예를 들어, filter_input_array 함수를 사용하여 POST 및 GET 요청에서 배열을 필터링할 수 있습니다. 이를 통해 코드 중복을 줄이고 코드 가독성을 향상시킬 수 있습니다.

  1. 배열 하드코딩을 피하세요

배열을 다룰 때 배열을 하드코딩하는 것을 최대한 피해야 합니다. 대신 배열을 상수 또는 구성 파일에 저장하고 그로부터 데이터를 읽어야 합니다. 이를 통해 코드 유지 관리성과 테스트 가능성이 향상됩니다.

  1. 올바른 데이터 유형을 사용하세요

외부 배열을 사용할 때는 항상 올바른 데이터 유형을 사용해야 합니다. 예를 들어 데이터베이스에 배열을 저장해야 하는 경우 "TEXT" 또는 "INTEGER"와 같은 올바른 SQL 데이터 유형을 사용해야 합니다.

  1. 중복 제출 방지

외부에서 배열을 받을 때 동일한 데이터가 여러 번 제출되는 것을 방지해야 합니다. 예를 들어, 각 양식 요소에 고유 식별자를 사용하고 PHP 스크립트의 세션이나 쿠키를 사용하여 제출된 데이터를 추적할 수 있습니다.

결론

외부 배열을 수신하는 것은 PHP 프로그래밍에서 매우 일반적인 작업이지만 주의해서 처리해야 하는 작업이기도 합니다. 이 문서에서는 URL 매개변수, POST 요청 및 JSON 문자열에서 배열을 수신하는 방법을 소개하고 코드의 유효성과 보안을 보장하기 위한 몇 가지 모범 사례를 제공했습니다. 이 기사가 귀하가 PHP 애플리케이션과 웹사이트를 보다 효율적으로 개발하는 데 도움이 되기를 바랍니다.

위 내용은 PHP에서 외부 배열을 수신하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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