2011-11-22 47 views
14

Tôi cần trợ giúp về một số mã PHP. Tôi đang lấy dữ liệu từ cơ sở dữ liệu MySQL bằng cách sử dụng các phép nối trái. Dựa trên những hồ sơ này tôi đang tạo ra mảng lồng nhau mà tôi muốn được sạch sẽ, ví dụ:Mảng đa chiều so với nhiều mảng

array(
[0] = array(
    [0] = array(
    [0] = array(
    [0] = array(
     etc... 
    ) 
    ) 
), 
[1] = array(
    [0] = array(
    [0] = array(
    [0] = array(
    etc... 
    ) 
    ) 
) 
) 
) 

Bây giờ ý tưởng của tôi là tạo ra nhiều mảng và sau đó sử dụng phím để phù hợp chúng lại với nhau, ví dụ:

$array1 = array([0] => array(id = 0)); // value = 
// match 
$array2 = array([0] => array(...)); // key = id = value of the $array1 with key 0 

Đây có phải là phương pháp hay không? Hoặc tôi nên giữ các mảng lồng nhau?

+5

thực hành tốt nhất sẽ hoàn toàn phụ thuộc vào việc bạn sẽ sử dụng (các) mảng cho. –

+2

Thực sự phụ thuộc vào loại ứng dụng bạn đang xây dựng. Bạn có thể muốn giữ nó lồng nhau nếu bạn muốn truy cập vào toàn bộ cây thông qua một vòng lặp chẳng hạn. – looneydoodle

Trả lời

14

Không có gì giống như thực hành tốt hay xấu trong những trường hợp như vậy. Tất cả phụ thuộc vào loại công việc bạn đang thực hiện từ mảng. Nếu bạn muốn truy cập/duyệt qua tất cả các mảng trong mã của bạn trong một lần thì sẽ tốt nếu có chúng như các mảng lồng nhau nhưng nếu bạn chỉ cần đi qua một hoặc hai trong số đó thì tôi nghĩ bạn nên tạo các mảng riêng lẻ hơn là đi qua tất cả các mảng chỉ để truy cập một hoặc hai.