由于我不是高级PHP程序员,我对PHP的基本知识说,PHP数组如下所示:
$indexed_array = array( 1, 'Toothless', 23, 2456 );
$associative_array = array( 1 => 'Toothless', 2 => 2456 );
$multidimensional_array = array( 'me' => 'Toothless', 'nature' => 'Fearless' );
现在我开始了解PHP简写array()
属性:
$shorthand_array = [ 1, 'Toothless', 23, 2456 ];
$shorthand_mixture = [ 'me' => 'Toothless', 1, 'nature' => 'Fearless' ]; *
* source^
我实际上是WordPress的粉丝,在WordPress postmeta
表中,WP在这样的文本中存储了一些meta_value
s(类型: longtext )(没有空格,一个纯粹的字符串块):
a:3:{i:571;s:16:"path/to/image.ext";i:572;s:16:"path/to/image.ext";i:411;s:16:"path/to/image.ext";}
使用jsfiddle的TidyUp我明白了,它是一个数组:
a: 3: {
i: 571;
s: 16: "path/to/image.ext";
i: 572;
s: 16: "path/to/image.ext";
i: 411;
s: 16: "path/to/image.ext";
}
我现在可以解释,a
代表array
,值3意味着它有3个索引; i
表示index
并且它存储了附件的ID,s
表示string
(除了每个s
之外的字符数),它存储了路径附件。 ...使用CMB2插件我发现了相同的存储结构。
现在我正在开发一个Raw PHP项目,其中数据库结构和存储规划是我自己的。所以我在重复领域时会想到这样的事情。我想在同一个meta_key
下存储公共重复字段,并使用这样的数组检索单个字段及其关联值。
答案 0 :(得分:3)
请参阅PHP函数serialize()
和unserialize()
:
<强>的serialize()强>
http://php.net/manual/en/function.serialize.php
<强>反序列化()强>