public function test(){
// 加&的:
$cc = [[1],[2]];
foreach ($cc as $key => &$item){
$item['aa'] = 111;
}
var_dump($cc);die;
// 不加&的
$cc = [[1],[2]];
foreach ($cc as $key => $item){
$item['aa'] = 111;
}
var_dump($cc);die;
// 不加&,又想達到加&的效果
$cc = [[1],[2]];
foreach ($cc as $key => $item){
$cc[$key]['aa'] = 111;
}
var_dump($cc);die;
// 所以foreach中$item加&應該是爲了偷個懶吧
// 這裏還涉及指針的知識,有興趣的推薦瞭解一下哦
}
// 加&輸出的結果:
array(2) {
[0]=>
array(2) {
[0]=>
int(1)
["aa"]=>
int(111)
}
[1]=>
&array(2) {
[0]=>
int(2)
["aa"]=>
int(111)
}
}
// 不加&輸出的結果
array(2) {
[0]=>
array(1) {
[0]=>
int(1)
}
[1]=>
array(1) {
[0]=>
int(2)
}
}
&:引用賦值的意思
如:
// 用在變量上:
public function test()
{
$a = 1;
$b = &$a;
$b = 2;
echo $a;die;
}
// 輸出的結果:2
// 用在方法上:
public function "e()
{
$b = 1;
$b++;
return $b;
}
public function test()
{
$a = $this->"e();
var_dump($a);// 2
$a = 5;
$a = $this->"e();
var_dump($a);// 6
}