Как отправить большой набор строк в SplObjectStorage в PHP, и если строка существует, чтобы не нажать
По сути, мне нужно отправить большой набор строк в SplObjectStorage и, если каждая строка не существует, выполнить какое-либо действие, если оно существует, выполнить другое действие.
$o1->id = '11111';
$s->attach($o1);
$o1->id = '22222';
$s->attach($o1);
Я получаю только 22222 в объекте, или он перезаписывает объект. Мне нужно получить оба, И если они соответствуют только одному из них. Мне нужно получить разные значения моих строк
1 ответ
Решение
Проблема здесь в том, что вы обновляете один и тот же объект, а сам объект не добавляется дважды.
Если вы работаете только со строками, было бы более эффективно использовать массив:
$array = [];
if (!isset($array['11111'])) {
$array['11111'] = true;
}
// etc.
После этого вы можете использовать array_keys()
чтобы получить все уникальные значения.