$myStrings = array();
$myStrings[] = 'string1';
$myStrings[] = 'string2';
...
foreach ($myStrings as $string)
{
// do stuff with your string here...
}
Nếu bạn muốn đảm bảo tính duy nhất của chuỗi trong mảng bạn có thể thực hiện một vài điều ... đầu tiên sẽ đơn giản là sử dụng array_unique(). Đó, hoặc bạn có thể tạo một mảng kết hợp với chuỗi như là chìa khóa cũng như các giá trị:
$myStrings = array();
$myStrings['string1'] = 'string1';
...
Nếu bạn muốn trở thành đối tượng theo định hướng về điều này, bạn có thể làm một cái gì đó như:
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
}
Sau đó, trong mã của bạn, bạn có thể làm công cụ như:
StringStore::$strings[] = 'string1';
...
Và lặp cùng một cách:
foreach (StringStore::$strings as $string)
{
// whatever
}
SplObjectStorage là để theo dõi các trường hợp duy nhất của đối tượng, và bên ngoài không hoạt động với các chuỗi, đó là một chút overkill cho những gì bạn đang cố gắng để thực hiện (theo ý kiến của tôi).
Hy vọng điều đó sẽ hữu ích!
Nguồn
2009-10-01 05:03:38
Bạn có thể cung cấp một số mẫu mã về cách lưu trữ một tập hợp các chuỗi duy nhất và sau đó lặp lại chúng? Tại sao nó khó khăn như vậy trong php ?? – erotsppa
Bạn không thể lưu trữ chúng trong một mảng? Có vẻ như bạn đang làm phức tạp nhiều thứ một chút;) –