PHP 数组作为数组键 [已关闭]

2022-08-30 23:31:54

在php中,是否可以使数组也成为数组键?

例:

array(
   array('sample', 'abc') => 'sample value'
);

答案 1

否,如果您已阅读手册

PHP中的数组实际上是一个有序映射。映射是将值与键相关联的类型。这种类型针对几种不同的用途进行了优化;它可以被视为数组,列表(向量),哈希表(映射的实现),字典,集合,堆栈,队列等等。由于数组值可以是其他数组,因此树和多维数组也是可能的。

和:

键可以是整数字符串。该值可以是任何类型。


答案 2

这是不可能的 - 数组键必须是字符串或整数

您可以做的是使用序列化

$myArr = array( serialize(array('sample', 'abc')) => 'sample value');

这将与以下相同:

$myArr = array( 'a:2:{i:0;s:6:"sample";i:1;s:3:"abc";}' => 'sample value');

并且可以像这样访问:

echo $myArr[serialize(array('sample', 'abc'))];

但请注意,序列化字符串(它将是数组项的唯一标识符)显然相当复杂,几乎不可能手动键入。