$myStrings = array();
$myStrings[] = 'string1';
$myStrings[] = 'string2';
...
foreach ($myStrings as $string)
{
// do stuff with your string here...
}
Если вы хотите, чтобы обеспечить уникальность строк в массиве вы могли бы сделать пару вещей ... первый будет просто использовать array_unique(). Это, или вы можете создать ассоциативный массив со строками в качестве ключей, а также значения:
$myStrings = array();
$myStrings['string1'] = 'string1';
...
Если вы хотите быть объектно-ориентированный об этом, вы могли бы сделать что-то вроде:
class StringStore
{
public static $strings = array();
// helper functions, etc. You could also make the above protected static and write public functions that add things to the array or whatever
}
Затем, в вашем коде вы можете делать такие вещи, как:
StringStore::$strings[] = 'string1';
...
И итерацию таким же образом:
foreach (StringStore::$strings as $string)
{
// whatever
}
SplObjectStorage предназначен для отслеживания уникальных экземпляров объектов, а кроме того, что он не работает со строками, это немного избыточно для того, что вы пытаетесь выполнить (на мой взгляд).
Надеюсь, что это поможет!
Можете ли вы предоставить несколько образцов код о том, как хранить набор уникальных строк, а затем перебирать их? Почему это так сложно в php? – erotsppa
Не могли бы вы просто сохранить их в массиве? Похоже, вы немного усложняете вещи;) –