我在PHP中有几个关联数组,如下所示:
$data1 = array("foo" => "one", "animal" => "mice");
$data2 = array("foo" => "two", "animal" => "cats");
....
我想创建另一个关联数组,使用前面数组的序列化值作为数组键。例如:
$newArray = array("data1's serialized key" => "someNewValue", ... );
序列化数组是否适合用作数组键?
它们是否包含任何不可接受的字符?
我是否需要对序列化字符串执行更多操作以使其作为数组键可接受(同时仍保持其唯一性)?
答案 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", ...);