2008-12-03 21 views

Trả lời

38
someproperty[] = a 
someproperty[] = b 
someproperty[] = c 
someproperty[] = d 
someproperty[] = e 

see: http://us.php.net/manual/en/function.parse-ini-file.php#75983

+2

Và là nó có thể làm điều đó cho chiều (giá trị để someproperty có thể là một băm/mảng đa chiều) đa? – Akeem

+5

Tôi đã gặp một vấn đề ngày hôm nay khi cú pháp này sẽ không hoạt động chính xác nếu một [section] không được định nghĩa ở đầu tệp ini. Không chắc chắn đây có phải là lỗi hay không, nhưng đáng chú ý là đáng chú ý! – Tom

+0

@Tom: cảm ơn vì đã chỉ ra nó, đã cho tôi một thời gian khó khăn - tôi chắc chắn sẽ xem xét một lỗi này! – Select0r

6

Bạn có thể sử dụng dải phân cách để chịu thêm những tiểu mục, và chúng được trình bày như là một trong hai mức độ khác của các đối tượng ($ config-> some-> a) hoặc với $ config- > toArray(), chúng có thể được chuyển thành mảng đa cấp.

Kết hợp cả hai kỹ thuật nói trên để làm cho các mảng, và các thiết bị tách như vậy:

some.a[] = a 
some.a[] = b 
some.b[] = c 

sẽ cung cấp cho các kết quả mà bạn đang tìm kiếm.

array('some' => array('a' => array(0 => 'a', 
            1 => 'b'), 
         'b' => array(0 => 'c') 
        )); 
+2

Cú pháp chấm chấm sẽ không hoạt động đối với việc xây dựng PHP trong hàm 'parse-ini-file'. Cú pháp khung vuông sẽ chỉ hoạt động đối với mảng một chiều. – feeela

7

Mặc dù không có giấy tờ, điều này dường như làm việc khá tốt quá:

foo[bar] = 5 
foo[baz] = 6 
hello[world] = 7 
+0

Điều này cũng phù hợp với tôi. Bạn sẽ phải thực hiện '$ config-> get ('the_key') -> toArray()' để sử dụng nó như một mảng trong PHP. – Chris

+0

Nó không còn tài liệu nữa. Các mảng với các chỉ mục rỗng và các chỉ mục chuỗi được trình bày trong các ví dụ cho 'parse_ini_file()'. Xem: http://us.php.net/manual/en/function.parse-ini-file.php –

Các vấn đề liên quan