一个PHP变量赋值的问题
程序员文章站
2022-06-16 09:06:31
...
两段代码,代码中如果我从头到尾只把值赋给同一个变量,和用多个变量赋值的区别是什么?如果是用一个是不是节省空间?用多个的话空间就会多消耗一些?(代码无任何意义,只是举例)
//代码片段一
$url = "https://www.segmentfault.com";
$url = urlencode($url);
$url = $url."?type=string";
echo $url;
//代码片段二
$url = "https://www.segmentfault.com";
$urlencode = urlencode($url);
$urls = $url."?type=string";
echo $urls;
回复内容:
两段代码,代码中如果我从头到尾只把值赋给同一个变量,和用多个变量赋值的区别是什么?如果是用一个是不是节省空间?用多个的话空间就会多消耗一些?(代码无任何意义,只是举例)
//代码片段一
$url = "https://www.segmentfault.com";
$url = urlencode($url);
$url = $url."?type=string";
echo $url;
//代码片段二
$url = "https://www.segmentfault.com";
$urlencode = urlencode($url);
$urls = $url."?type=string";
echo $urls;
是的,使用多个变量会增加内存消耗,不过消耗的内存只是少数,因为变量中实际存储的内存都是需要空间的,你只是节约了变量最基础的内存而已。
代码的简明清晰比节约那一点点内存要重要吧。
第一种写法,你在后期review的时候,就有可能需要考虑下每一步的意义,
第二种则是很明显的用代码名称表达了你的意图;
占用空间上,只要你声明代码后不销毁,就会有一个空间为这个变量而存在!知道你unset这个变量!
就通楼上说鍀,能看懂其实比这点内存开销更重要,要不然,那么多代码库为什么不直接在一个函数内引用一个变量呢?
其实意义不大,空间复杂度还是一样的,还不便于理解代码