-1

基本上我需要的是将一大组字符串推送到 SplObjectStorage,如果每个字符串不存在,则执行某种操作,如果确实存在,则执行其他操作。

$o1->id = '11111';
$s->attach($o1);
$o1->id = '22222';
$s->attach($o1);

我只在对象中得到 22222,否则它会覆盖对象。我需要两个都得到,如果它们只匹配其中一个。我需要得到我的字符串的不同值

4

1 回答 1

0

这里的问题是您正在更新同一个对象,并且对象本身没有添加两次。

如果您只使用字符串,则使用数组会更有效:

$array = [];

if (!isset($array['11111'])) {
    $array['11111'] = true;
}
// etc.

之后,您可以使用它array_keys()来获取所有唯一值。

于 2014-04-30T04:12:56.813 回答