兩段代碼,代碼中如果我從頭到尾只把值賦給同一個變數,和用多個變數賦值的區別是什嗎?如果是用一個是不是節省空間的?用多個的話空間就會多消耗一些?(
代碼無任何意義,只是舉例)
//程式碼片段一$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這個變數!
就通樓上說鍀,能看懂其實比這點記憶體開銷更重要,要不然,那麼多程式碼程式庫為什麼不直接在一個函數內引用一個變數呢?
其實意義不大,空間複雜度還是一樣的,還不便於理解代碼