亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

以最短的方式將所有PHP類型轉(zhuǎn)換為字符串
P粉369196603
P粉369196603 2023-09-05 15:34:44
0
1
1216
<p>我正在編寫一個通用系統(tǒng),希望有一天可以應(yīng)用于醫(yī)學(xué)等領(lǐng)域(即它是“科學(xué)的”)。</p> <p>我認(rèn)為最好的方法是用字符串在php中表示所有數(shù)據(jù)(true將是“true”,false將是“false”,依此類推)。這樣做的原因是在php中任何值都有唯一的字符串表示(例如php代碼本身)。</p> <p>我發(fā)表這個問題是為了加速這個程序的設(shè)計過程。</p> <p>有些值很容易轉(zhuǎn)換為字符串:數(shù)字、布爾值等。</p> <p>有些不容易:對象、數(shù)組、資源。</p> <p>我認(rèn)為傳輸對象和數(shù)組的格式基本上是json,但我不確定是否完全匹配。這比我目前擁有的(什么都沒有)要好,但至少在某個時候,我想將其精煉到一個點(diǎn)。</p> <p>有什么想法嗎?</p>
P粉369196603
P粉369196603

全部回復(fù)(1)
P粉615886660

這確實(shí)是一個雄心勃勃的目標(biāo);如此雄心勃勃以至于嘗試是愚蠢的。

現(xiàn)在,你可能并不是真的意味著“可以為任何人做任何事”,但你在嘗試表示的時候沒有設(shè)定任何限制是與你的問題相關(guān)的。這使得你在尋找序列化格式方面變得不必要地困難。

例如,你提到了資源,PHP用于諸如數(shù)據(jù)庫連接、打開文件句柄等的東西。它們是對一些存在一會兒然后消失的東西的短暫指針,對它們進(jìn)行序列化不僅在PHP中不受支持,而且?guī)缀鯖]有意義。

與其試圖涵蓋“一切”,你需要考慮你實(shí)際上需要處理哪些類型的數(shù)據(jù)。也許你主要會使用系統(tǒng)內(nèi)定義的類,所以你可以定義任何你想要的格式來表示它們。也許你想要處理任意的鍵值對集合,以PHP數(shù)組的形式。你可能希望為將來的擴(kuò)展留下余地,但這只是關(guān)于格式的靈活性,而不是現(xiàn)在就有一個具體的答案。

從那里開始,你可以尋找你想要的屬性,并四處逛逛:

  • JSON是一個非常受歡迎的“最低公共分母”格式。它的主要缺點(diǎn)是它沒有表示特定自定義類型的方式,一切都必須由列表和鍵值對組成(我喜歡說“JSON沒有類”)。
  • XML比它過去流行了一些,但非常強(qiáng)大,可以用于定義自定義語言和類型。它相當(dāng)冗長,但壓縮效果很好 - 很多現(xiàn)代文件格式實(shí)際上是包含壓縮的XML文件的zip歸檔。
  • PHP序列化格式實(shí)際上只適用于短期的應(yīng)用內(nèi)目的,比如緩存數(shù)據(jù)。它相當(dāng)簡潔,并與PHP的類型系統(tǒng)密切相關(guān),但如果用戶對數(shù)據(jù)有影響力,則存在安全問題,如unserialize手冊頁面中所述。
  • 甚至還有更簡潔的格式,它們不僅限于人類可讀的表示,如果這對你來說是一個相關(guān)因素的話。

顯然,列表是無窮無盡的...

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板