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