php中是否可以将数组也设为数组键?
例子:
array(
array('sample', 'abc') => 'sample value'
);
不,如果您阅读手册
PHP 中的数组实际上是一个有序映射。映射是将值与键相关联的类型。这种类型针对几种不同的用途进行了优化;它可以被视为数组、列表(向量)、哈希表(映射的实现)、字典、集合、堆栈、队列等等。由于数组值可以是其他数组,因此树和多维数组也是可能的。
和 :
键可以是整数或字符串。该值可以是任何类型。
这是不可能的——数组键必须 是字符串或整数。
你可以做的是使用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'))];
但请注意,作为数组项的唯一标识符的序列化字符串显然相当复杂,几乎不可能手动输入。
PHP 数组可以包含整数和字符串键,因为 PHP 不区分索引数组和关联数组。找php手册php手册
怎么了
array(
'sample value' => array('sample', 'abc')
);
你可以这样做
foreach($array as $string => $child){
...
}
并将其$child
用于任何目的