以最短的方式将所有PHP类型转换为字符串
P粉369196603
2023-09-05 15:34:44
<p>我正在编写一个通用系统,希望有一天可以应用于医学等领域(即它是“科学的”)。</p>
<p>我认为最好的方法是用字符串在php中表示所有数据(true将是“true”,false将是“false”,依此类推)。这样做的原因是在php中任何值都有唯一的字符串表示(例如php代码本身)。</p>
<p>我发表这个问题是为了加速这个程序的设计过程。</p>
<p>有些值很容易转换为字符串:数字、布尔值等。</p>
<p>有些不容易:对象、数组、资源。</p>
<p>我认为传输对象和数组的格式基本上是json,但我不确定是否完全匹配。这比我目前拥有的(什么都没有)要好,但至少在某个时候,我想将其精炼到一个点。</p>
<p>有什么想法吗?</p>
这确实是一个雄心勃勃的目标;如此雄心勃勃以至于尝试是愚蠢的。
现在,你可能并不是真的意味着“可以为任何人做任何事”,但你在尝试表示的时候没有设定任何限制是与你的问题相关的。这使得你在寻找序列化格式方面变得不必要地困难。
例如,你提到了资源,PHP用于诸如数据库连接、打开文件句柄等的东西。它们是对一些存在一会儿然后消失的东西的短暂指针,对它们进行序列化不仅在PHP中不受支持,而且几乎没有意义。
与其试图涵盖“一切”,你需要考虑你实际上需要处理哪些类型的数据。也许你主要会使用系统内定义的类,所以你可以定义任何你想要的格式来表示它们。也许你想要处理任意的键值对集合,以PHP数组的形式。你可能希望为将来的扩展留下余地,但这只是关于格式的灵活性,而不是现在就有一个具体的答案。
从那里开始,你可以寻找你想要的属性,并四处逛逛:
显然,列表是无穷无尽的...