개발 꿀팁/PHP

PHP에서 가변 변수와 php 가변 함수는 도대체 무슨 소용이 있습니까?

Jammie 2022. 7. 23. 14:44
반응형

가변 변수란 무엇입니까?

PHP는 그것을 제공했다.다른 유형의 변수인 가변 변수.가변 변수는 변수 이름을 동적으로 변경할 수 있도록 한다.
그런 면에서 보면PHP는 자유도가 매우 크다. 모든 언어는 변수의 값을 바꿀 수 있지만, 많은 언어는 변화를 허용하지 않는다.양의 유형, 변수의 이름 변경을 지원하는 언어는 더 적다.

이 특성의 작동 원리한 변수의 값을 다른 변수의 값으로 사용하는 이름입니다.예:

$varname = 'tireqty';

그래서 우리는 사용할 수 있다

$$varname = 5;

이 코드는 다음과 같다

$tireqty = 5;

실제 사용에서, 우리는 각각의 폼 변수를 따로 열거해서 사용하지 않고, 하나의 순환 문장과 하나의 변수를 사용하여 그것들을 자동으로 처리할 수 있다."for 루프"와 결합하면 다음과 같다:
orderform.html의 주요 내용

[php] view plain copy
<pre name="code" class="html"><form action="test.php" method="post">  
<table border="0">  
<tr bgcolor="#cccccc">  
<td width="150">Item</td>  
<td width="15">Quantity</td>  
</tr>  
<tr>  
<td>Tires</td>  
<td align="center"><input type="text" name="tireqty" size="3" maxlength="3" /></td>  
</tr>  
<tr>  
<td>Oil</td>  
<td align="center"><input type="text" name="oilqty" size="3" maxlength="3" /></td>  
</tr>  
<tr>  
<td>Spark Plugs</td>  
<td align="center"><input type="text" name="sparkqty" size="3" maxlength="3" /></td>  
</tr>  
<tr>  
<td colspan="2" align="center"><input type="submit" value="Submit Order" /></td>  
</tr>  
</table>  
</form>

폼 처리 파일 test.php
전통적인 준규격에 맞게 쓰는 법

[php] view plain copy
<?php  
$oilqty = $_POST['oilqty'];  
$tireqty = $_POST['tireqty'];  
$sparkqty = $_POST['sparkqty'];  
echo "<p>Your order is as follows:</p>";  
echo "<br />\$oilqty=".$oilqty;  
echo "<br />\$tireqty=".$tireqty;  
echo "<br />\$sparkqty=".$sparkqty;  
?>

만약 orderform.html에 많은 양식 변수가 있다면 위의 대입 문장이 길어질 것으로 예상할 수 있는데, 우리는 가변 변수를 사용하면 다음과 같이 매우 간결한 코드로 최적화할 수 있다

[php] view plain copy
<?php  
foreach ($_POST as $key => $value) {  
$$key = $value;  
}  
echo "<p>Your order is as follows:</p>";  
echo "<br />\$oilqty=".$oilqty;  
echo "<br />\$tireqty=".$tireqty;  
echo "<br />\$sparkqty=".$sparkqty;  
?>

PHP 가변함수란 무엇입니까?

PHP 지원 가변 함수 개요읽음. 이것은 만약 변수 이름 뒤에 괄호가 있다면, PHP는 변수의 값과 같은 이름의 함수를 찾아서 실행하려고 합니다.가변 함수는 콜백 함수, 함수 테이블을 포함한 일부 용도로 사용될 수 있다.

e와 같은 가변 함수는 사용할 수 없습니다cho, print, unset(), isset(), empty(), include, require 등 유사한 언어 구조.이 구조들을 가변 함수로 사용하기 위해서는 자체 포장 함수를 사용해야 한다

php 가변 함수 적용 예:

for example:

저희가 앞에서 GET를 통해서 하나 보내드리도록 하겠습니다name이 myfunc1 값(www.admin122.com/?name=myfunc1), 이 값은 호출할 함수 이름입니다

[php] view plain copy
$f=$_GET['name'];  
$f();  
function myfunc1(){  
}

또 다른 예로 이번에는 class로 바꿔서 function과 함께
class A와 class B와 class C가 있고, 그는다들 각자 함수가 있어요.
아니면 프런트 엔드 값, 이번엔 두 개 한 class, 한 funct이온
같은

[php] view plain copy
$class=$_GET['class'];  
$func=$_GET['func'];  
$obj=new $class();  
$obj->$func();

이것은 싱글 엔트리 모델의 사고방식이다.PHP 틀의 사상.


한 마디 더 하자면 가변 변수일 뿐 원변수일 줄 알았는데새 변수의 이름:

$first ="hello";
$hello ="world";
echo $first." ".$$first;
결과hello world

원래 foreach 사이클에서는 매번 동적으로 변수에 값을 매길 수 있다

//이 코드는 정말 초이다
$$key = $value
반응형