PHP 변수 입문 튜토리얼, PHP 변수에 대한 기본 지식

WBOY
풀어 주다: 2016-07-25 08:51:41
원래의
1036명이 탐색했습니다.
  1. $a = 'hello';
  2. function test() {
  3. var_dump($a);
  4. }
  5. // test();
  6. include 'b.inc';
코드 복사

b.inc 콘텐츠:

  1. echo 'hello';
  2. ?>
코드 복사

프로그램은 정상적으로 hello를 출력할 수 있지만, 주석 처리된 test()는 변수 $a가 정의되지 않았기 때문에 정상적으로 구문 분석할 수 없습니다.

4. 전역 변수를 사용하세요. 함수에서 전역 변수를 사용하려면 다음 두 가지 방법을 사용할 수 있습니다.

글로벌 키워드 글로벌 $a, $b; 전역 변수가 함수에서 선언되면 모든 변수에 대한 모든 참조는 해당 전역 버전을 가리킵니다.

$GLOBALS 슈퍼 전역 변수 배열 $GLOBALS['b'] = $GLOBALS['a'] $BLOBALS['b']; 사용법은 global 키워드와 유사합니다.

5. 정적 변수 정적 변수는 로컬 함수 범위에만 존재하지만 프로그램 실행이 이 범위를 벗어나도 해당 값은 손실되지 않습니다. 게다가 선언 시 한 번만 초기화되며, 함수가 호출될 때마다 정적 함수의 값을 덮어쓰지 않습니다.

선언의 표현식 결과로 정적 변수를 할당하면 구문 분석 오류가 발생합니다. 정적 선언은 컴파일 타임에 구문 분석됩니다.

  1. function test() {
  2. static $cnt = 0;
  3. echo $cnt;
  4. $ cnt ;
  5. if($cnt < 10) {
  6. test();
  7. }
  8. $cnt--;
  9. }
  10. test();
코드 복사

는 C 언어의 static과 유사합니다. 다음 C 코드도 0부터 9까지 10개의 숫자를 순서대로 출력할 수 있습니다.

  1. #include
  2. void test(void) {
  3. static int cnt = 0;
  4. printf(" %d ", cnt);
  5. cnt ;
  6. if(cnt < 10) {
  7. test();
  8. }
  9. cnt--;
  10. }
  11. int main (void) {
  12. test();
  13. return 0;
  14. }
코드 복사

정적 및 전역 변수의 경우 참조로 구현됩니다.

5. 가변변수 변수 변수는 PHP 언어에서 특별한 용도로 사용됩니다. 다른 언어에도 존재하는지 모르겠습니다.

간단히 말하면 변수변수는 일반변수의 값을 변수변수의 변수명으로 구하는 변수변수이다.

  1. $a = 'hello';
  2. $$a = 'world';
  3. echo "$a $$a"; // hello $hello
  4. echo "$a ${$a}"; // hello world
코드 복사

변경 가능한 변수를 배열과 함께 사용하면 모호한 문제가 발생할 수 있습니다. 예를 들어 $$a[1]이라고 쓰면 컴파일러는 오류를 보고합니다. 표현하려는 의미는 다음 두 가지 방법으로 바꿔야 합니다.

${$a[1]} $a[1]를 변수로

${$a}[1] $$a는 변수 역할을 하며 변수에서 인덱스 1의 값을 꺼냅니다.

6. 형태변수 양식이 PHP 스크립트에 제출되면 양식의 정보가 스크립트에서 자동으로 사용 가능하며 $_GET[], $_POST[] 및 $_REQUEST[]를 통해 액세스할 수 있습니다.

변수 이름의 점과 공백은 밑줄로 변환됩니다. 예를 들어 은 $_REQUEST["a_b"]가 됩니다. 다음 예에서는 형식에서 식별자를 사용하는 방법을 보여줍니다.

코드 복사

양식 처리 파일 process.php를 복사하세요.

  1. var_dump(isset($_POST['my.text']));
  2. var_dump(isset($_POST) ['mytext']));
  3. var_dump(isset($_POST['my_text']));
  4. var_dump($_POST['my_text']);
코드 복사

마침표는 PHP 변수 이름에 적합한 문자가 아니므로 출력 결과는 다음과 같습니다. 부울 거짓 부울 거짓 부울 참

문자열 'h3'(길이=2) Magic_quotes_gpc 구성 지시문은 get/post/cooie 값에 영향을 미칩니다. 이 기능은 더 이상 사용되지 않으며 제거되었습니다. 입력의 작은따옴표, 큰따옴표, 백슬래시 및 NULL 문자는 이스케이프되지 않습니다. 이스케이프해야 하는 경우, addlashes()를 사용할 수 있습니다. 인용된 문자열을 분리해야 하는 경우, Stripslashes()를 사용해야 합니다.

PHP는 양식 변수의 맥락에서도 배열을 이해합니다.

예를 들어, 더 복잡한 양식 변수를 사용하고 양식을 자신에게 게시하고 제출 시 데이터를 표시합니다.

  1. if(isset($_POST['action'])) {
  2. var_dump($_POST);
  3. } else {
  4. $page = $_SERVER['PHP_SELF'];
  5. $s = <<
  6. <여러 이름 선택="option[]">
  7. STR;
  8. echo $s;
  9. }
코드 복사

heredoc에 복잡한 변수를 포함할 때는 각별히 주의하세요. 중괄호가 없는 위의 $_SERVER['PHP_SELF'] 코드는 실행 시 오류를 발생시킵니다.

  1. if(isset($_POST['action'])) {
  2. var_dump($_POST);
  3. } else {
  4. $s = <<
  5. <입력 유형 ="hidden" name="action" value="1">
  6. STR;
  7. echo $s;
  8. }
코드 복사

위 프로그램의 경우 사용자가 picture 를 사용하면 양식이 서버로 전송되고 사용자가 클릭한 이미지의 좌표를 포함하는 두 개의 변수 sub_x 및 sub_y가 추가됩니다.

배열(크기=3) 'action' => 문자열 '1'(길이=1) 'sub_x' => 문자열 '334'(길이=3) 'sub_y' => 문자열 '282'(길이=3) 쿠키

php는 setcookie() 함수를 사용하여 쿠키를 설정할 수 있습니다. 쿠키는 http 정보 헤더의 일부이므로 브라우저에 출력을 보내기 전에 호출해야 합니다.

php 쿠키는 다음을 사용합니다:

쿠키 데이터는 해당 쿠키 배열에서 사용할 수 있습니다. 쿠키 변수에 여러 값이 할당되면 배열에 할당해야 합니다.


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿