PHP地址引‘&’用的两个注意点

foreach 循环

在foreach循环中经常用取地址的方式来修改循环体

$arr = ['www.baid.com','www.google.com'];
//给数组中的字符串拼接https://
//第一种做法
foreach($arr as $key=>$value) {
	$arr[$key] = 'https://'.$value;
}

//第二种做法使用&
foreach($arr as &$value) {
	$value = 'https://'.$value;
}
unset($value);

上面两种方式都可以实现给数组内的地址添加https://的功能,在我看来使用取地址的方式更加直观、方便,需要注意的是在使用foreach使用完毕后,最好是unset 取地址的变量,因为取地址变量是在foreach外也是存在的,可能会对后面的代码造成影响;

array_walk中使用

实现上面的功能也可以使用array_walk的方式

$arr = ['www.baidu.com', 'www.google.com'];
array_walk($arr, function(&$value){
	$value ='https://'.$value;
});

如果要复制arr的站点到website变量中可以这样写

$arr = ['www.baidu.com', 'www.google.com'];
$website = [];
array_walk($arr, function($value) use(&$website){ //注意此时要写&$website
    $website[] = $value;
});

同时也要注意考虑是否unset掉$website

posted @ 2023-05-24 20:55  小刘的早餐店  阅读(24)  评论(0编辑  收藏  举报