1. php 함수가 매개변수를 전달하는 방법은 변수의 주소를 전달하거나 변수의 값을 전달하는 것입니다.
1.1 클래스 정의
class Penson{
public $age;
public $name;
}
//객체 인스턴스화
$zs=new Penson();
$zs->age=10;
1.2 문자열, 숫자 및 배열을 각각 정의합니다.
$str="string";
$num="0";
$myArray=(10,100,100);
1.3 함수 정의
함수 테스트($str,$num,$arr ,$obj ){
$str="문자열 변경";
$num=100;
$arr[0]=0;
$obj- >age="100";
}
test($str,$num,$arr,$zs);
별도 인쇄 함수 실행 후 :
echo $str; // string
echo $num; // 0
echo $arr[0];
echo $zs; // 100결론: 문자, 숫자 및 배열을 함수에 매개변수로 전달하면 값의 복사본을 복사하여 함수에 전달하는 반면 객체는 해당 값을 가리키는 주소를 전달합니다. 객체를 함수에 넣기 때문에 함수가 실행되면 메모리에 있는 현재 함수의 스택이 재활용되므로 생성된 변수도 소멸되므로 외부 변수에는 영향을 미치지 않지만 객체는 주소에 전달됩니다. , 함수에서 수정된 내용이 실제로 전달됩니다. 전달된 주소는 객체를 작동하는 데 사용됩니다. 객체에 직접 접근할 수는 없고, 주소를 통해서만 접근할 수 있으므로 함수에서 수정된 객체의 영향은 그대로 유지됩니다. 함수가 실행된 후. 물론, 다른 유형의 데이터를 객체처럼 만들고 싶다면 주소가 함수에 전달되고 외부 변수가 함수에서 수정됩니다. 이는 PHP에서도 수행할 수 있습니다. 매개변수는 다음과 같이 전달됩니다. test(&$str,&$num,&$arr,$zs); CREATE
TABLE
message(
id
int
(10) auto_increment
PRIMARY
KEY
NOT
NULL
,
username
VARCHAR
(16)
NOT
NULL
,
message
VARCHAR
(32)
NOT
NULL
,
time
datetime
NOT
NULL
)
ENGINE= MYISAM
CHARACTER
SET
utf8 ;