PHP将数组转换为适合作为数组键的序列化字符串

时间:2016-03-24 05:40:19

标签: php arrays serialization key

我在PHP中有几个关联数组,如下所示:

$data1 = array("foo" => "one", "animal" => "mice");
$data2 = array("foo" => "two", "animal" => "cats");
....

我想创建另一个关联数组,使用前面数组的序列化值作为数组键。例如:

$newArray = array("data1's serialized key" => "someNewValue", ... );

序列化数组是否适合用作数组键?

它们是否包含任何不可接受的字符?

我是否需要对序列化字符串执行更多操作以使其作为数组键可接受(同时仍保持其唯一性)?

1 个答案:

答案 0 :(得分:1)

  

序列化数组是否适合用作数组键?

烨!据我所知,您可以使用序列化数组作为另一个数组中的键。但我无法想到任何用例。 :P

  

它们是否包含任何不可接受的字符?

不,除非您在原始数组中指定任何不可接受的字符,否则<。p>

  

我是否需要对序列化字符串执行更多操作以使其作为数组键可接受(同时仍保持其唯一性)?

不。

所以,你的代码看起来像是:

$data1 = array("foo" => "one", "animal" => "mice");
$data2 = array("foo" => "two", "animal" => "cats");
$serializedArrayKey1 = serialize($data1);
$serializedArrayKey2 = serialize($data2);
$newArray = array($serializedArrayKey1 => "Value for data1", ...);