我在Code-Signal上找到了一個(gè)任務(wù)(或更像是一個(gè)挑戰(zhàn))(一個(gè)你可以做一些編程相關(guān)任務(wù)的網(wǎng)站.谷歌在一次采訪中詢問了這個(gè)特殊任務(wù): 如果你想自己嘗試一下:Code-Fight. 解決問題后,您可以看到其他解決方案. 我的任務(wù)是“在數(shù)組中找到第一個(gè)欺騙”.我設(shè)法做到這一點(diǎn)(我將展示方式),但我對結(jié)果不滿意.在調(diào)查了頂級解決方案之后,我很困惑,因?yàn)槲也幻靼姿鼈冊谀抢锇l(fā)生了什么. 這是(a)給出的示例輸入數(shù)組
我的解決方案
它適用于每個(gè)測試用例,我解決了挑戰(zhàn).然而,最重要的解決方案是:
我知道variable variable是什么,但直到現(xiàn)在還沒有在野外生活中看到過這一點(diǎn). 引用變量在這里做什么?這是怎么回事的?它是否以某種方式比較是否已存在此鍵入鍵的值? $$v引用數(shù)組中的鍵嗎? 不用說,我更喜歡這種方法.這似乎更有效,更好地維護(hù). 這是“常見做法”嗎? 解決方法: 它正在創(chuàng)建編號變量. 2美元,1美元,3美元等 foreach中的$v包含當(dāng)前數(shù)字,2.通過$test = 2; echo $$test我們現(xiàn)在可以看到2美元的價(jià)格.它通常是空的.現(xiàn)在,通過執(zhí)行$$v,它將返回當(dāng)前值(空,或?qū)嶋H上,變量不存在),但會(huì)將“1”放入其中.整個(gè)語句本身將返回0,因?yàn)樗辉谧兞康那懊? 考慮以下代碼:
它將顯示$3的值等于2,因?yàn)槲覀冊?3上做了2次. 這很奇怪的唯一原因是通常你不能使用以數(shù)字開頭的變量.也許這會(huì)讓它更清晰?:
回答“這是”常見做法“?”的問題.不,我個(gè)人不會(huì)使用變量變量,因?yàn)樵谀承┣闆r下這可能被視為安全問題.我個(gè)人更喜歡以下解決方案,它是相同的,但使用數(shù)組,并沒有拋出通知:
不過,變量解決方案是一個(gè)創(chuàng)新的解決方案! 來源:https://www./content-1-286701.html |
|