PHP数组作为数组键

时间:2012-09-05 14:07:53

标签: php arrays

在php中是否可以将数组作为数组键?

示例:

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

4 个答案:

答案 0 :(得分:7)

不,如果您阅读manual

  

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

并且:

  

密钥可以是整数字符串。值可以是任何类型。

答案 1 :(得分:5)

这是不可能的 - 数组键必须 be strings or integers

您可以使用serialize

$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'))];

但请注意,序列化字符串将是数组项的唯一标识符,显然相当复杂,几乎无法手动输入。

答案 2 :(得分:1)

PHP数组可以包含整数和字符串键,因为PHP不区分索引和关联数组。 寻找php手册Php Manual

答案 3 :(得分:-3)

错误

array(
    'sample value' => array('sample', 'abc')
);
然后你可以做

foreach($array as $string => $child){
...
}

并将$child用于任何目的