1. The way the php function passes parameters is whether to pass the address of the variable or the value of the variable;
1.1 Define a class
class Penson {
public $age;
public $name;
}
//Instantiate an object
$zs=new Penson();
$zs->age=10;
1.2 Define a string, number, and array respectively;
$str="string";
$num="0";
$myArray=(10,100,100);
1.3 Define a function
funtion test($str,$num,$arr,$obj){
$str="change string ";
$num=100;
$arr[0]=0;
$obj->age="100";
}
test($str,$num,$arr,$zs );
print respectively after executing the function:
echo $str; // string
echo $num; // 0
echo $arr[0]; // 10
echo $zs; // 100
Conclusion: Passing characters, numbers, and arrays into functions in the form of parameters copies a value and passes it into the function, while objects pass the address pointing to the object into the function, so when the function is executed, the current function The stack in the memory is recycled, so the created variables are also destroyed, so it will not affect external variables. However, the object is passed in the address. What is modified in the function is actually to operate the object through the passed in address. The object cannot Direct access can only be done by address, so the impact of the object modified in the function will still be there after the function is executed.
Of course, if you want other types of data to be like objects, what is passed into the function is the address, and the external variables are modified in the function. This can also be done in PHP, as long as the parameters are passed like this:
test(&$str,&$num,&$arr,$zs);
Add an & symbol before the variable, so that no matter what the data type is, modifications inside the function will affect the variables outside the function.
2.mysqli_insert_id($con)
Sometimes after inserting, we need to know the id automatically generated by the current insert data in the database. At this time, we can use the mysqli_insert_id() method. This method takes one parameter. This parameter For the database connection used to execute insert, if the return content is not added, a warning will appear, but the insertion will be successful.
3. When trying to obtain a variable that does not exist in PHP, an error may be reported, such as: $_POST["select"]. If select does not exist, an error will be reported. You should try to use the isset() method to determine whether the variable exists. Then proceed
4. When creating a table with mysql, remember to set the encoding:
CREATE
TABLE
message(
id
int
(10) auto_increment
PRIMARY
KEY
NOT
NULL
,
username
VARCHAR
(16)
NOT
NULL
,
mes sage
VARCHAR
(32)
NOT
NULL
,
time
datetime
NOT
NULL
)
//The following sentence is used to set the encoding. If not set, it may cause Chinese garbled characters in the database
ENGINE = MYISAM
CHARACTER
SET
utf8 ;
The above introduces the detailed analysis of function value transfer in PHP short notes, including PHP and function content. I hope it will be helpful to friends who are interested in PHP tutorials.