Tho*_*ens 0 php arrays serialization
a:3:{i:0;i:4;i:1;i:3;i:2;i:2;}
Run Code Online (Sandbox Code Playgroud)
难道我说得对,这是大小3其中关键值对的数组0->4,1->3和2->2?
如果是这样,我发现这种表现非常令人困惑.起初,我认为它是值列表(或包含的数组{0, 4, 1, 3, 2, 2}),但我认为a:3:是数组的大小.如果3是大小,那么键和值都出现在括号中,无法清楚地识别键/值对而不计算.
澄清我来自哪里:
为什么PHP开发人员选择以这种方式序列化?这有什么优势,让我们说var_dump和/或var_export显示其数据的方式?
是的,是的 array(4, 3, 2)
a对于数组,i对于整数作为键然后是值.您必须计算到特定的一个,但PHP总是反序列化整个批次,所以无论如何它都有一个计数.
编辑:当你习惯它时,它不会太混乱,但它可能有点啰嗦,例如JSON
注意:var_export()不处理循环引用,因为它几乎不可能生成可解析的PHP代码.如果要对数组或对象的完整表示执行某些操作,请使用serialize().