최근에 진행한 프로젝트에서 저는 PHP에서 변수를 사용하는 것에 대한 새로운 개념을 발견했습니다. 내 프로그램에서 한 페이지에 여러 개의 기록을 동시에 업데이트해야 하는데, 오랜 고민 끝에 우연히 변수 변수라는 개념이 떠올랐고, 모든 혼란은 사라졌다.
소개
변수란 무엇인가요? PHP 매뉴얼에 따르면 변수는 변수의 값을 가져와 다른 변수의 변수 이름으로 사용하는 변수입니다. 이 진술은 매우 간단해 보이며 문장에서 "변수"라는 단어를 사용하는 것과 쉽게 혼동될 수 있습니다. 간단한 예를 들자면, 변수 --- x는 이것과 같습니다 ---를 정의한 다음 변수의 변수를 정의합니다. 이는 x 값을 새 변수의 이름으로 사용한다는 의미입니다. 이 새 변수의 값은 cake입니다. PHP에서는 다음과 같이 표현됩니다.
$x = "this"
$$x = "is cake"
?> PHP에서 변수 내의 변수 표현 방법입니다. 이제 두 가지 다른 방식으로 두 변수 $x 및 $$x를 참조할 수 있습니다.
echo "$x ${$x}"
?>
echo "$x $this"?> 🎜>위 두 프로그램 모두 케이크라는 결과를 출력합니다. $$x는 echo 문에서 ${$x}로 작성됩니다. 이는 출력하려는 내용이 $ 문자 및 $x 변수가 아닌 변수 변수임을 PHP에 알리기 위한 것입니다.
아직도 헷갈리시나요? 아, 좀 더 깊이 있고 유용한 예시를 원하시나요? 다음 섹션에서는 변수를 사용하여 한 페이지에서 여러 레코드를 편집하는 방법을 보여 드리겠습니다.
예
관심 있는 일부 사이트에 대한 링크를 저장하는 MySQL 데이터베이스가 이미 있다고 가정합니다. 데이터베이스에
SubmissionID
PostedBy
링크
설명
승인됨
이제 생성되었지만 승인되지 않은 모든 링크를 테이블에 표시하려고 합니다. 이 편집 페이지에서는 일부 입력 오류를 수정하고 적절한 방법을 사용할 수 있어야 합니다. 각 레코드에 대해 허용(승인) 여부를 설정한 후 업데이트된 모든 레코드를 한 번에 테이블에 제출하는 라디오 버튼입니다.
우선, 데이터베이스에서 모든 레코드를 추출하여 표시할 때 각 레코드에 고유한 이름을 설정해야 합니다. 이렇게 하면 제출 시 각 레코드의 값을 반복하고 식별할 수 있습니다. 코드는 다음과 같습니다.
//변수 카운터 초기화
$index = 0
$index_count = 0
echo "