如何在PHP中使用对象键创建类似数组的数据结构?

5
我希望在PHP中创建具有对象键的数组,例如:
<?php
$keyObject   = new KeyObject;
$valueObject = new ValueObject;

$hash = array($keyObject => $valueObject);

然而,这会引发错误。数组只能有整数或字符串键。我最终必须做类似于:
$hash = array(
    'key'   => $keyObject,
    'value' => $valueObject);

这个方法虽然可行,但不够简洁。有更好的方式吗?(也许是我漏掉了 SPL 中的某些内容...)

TIA

1个回答

10

您可以使用SPL中的SplObjectStorage作为具有对象键的映射:

$map = new SplObjectStorage;
$key = new StdClass;
$value = new StdClass;
$map[$key] = $value;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接