veritabanı sonuçları Dizi yapısı

2 Cevap php

Bu oldukça önemsiz bir soru olabilir, ancak bu yöntemlerden hangisinin dönüş db sonuçları için bir dizi yapılanma için en iyi uygulamadır? Mesajları sıralama ve gruplandırma ... blog yazılarını bir liste söylemek? veya sıralama ve gruplandırma öğeleri?

Array
(
    [title] => Array
        (
            [0] => Untitled
            [1] => Untitled
        )

    [id] => Array
        (
            [0] => 8
            [1] => 11
        )

)

or

Array
(
    [0] => Array
        (
            ['id']=> 8
            ['title'] => Untitled
        )

    [1] => Array
        (
            ['id']=> 11
            ['title'] => Untitled
        )

)

Birinci yol kolay ve bunu yapıyor yolu görünüyor. Ben sadece can:

while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
    $post['title'][] = $row['title'];
    $post['id'][] = $row['id'];
}

ve daha sonra

$count = count($post['id']);

ancak ikinci yolu daha mantıklı ve daha mantıklı bilgi yapısı gibi görünüyor. Bu şablonda, filtre kurmak ve çalışmak için biraz daha karmaşıktır.

$c = 0;
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
    $post[$c]['title'] = $row['title'];
    $post[$c]['id'] = $row['id'];
    $c++;
}

2 Cevap

İkinci kurmak için daha iyi ve kolaydır:

while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
    $posts[] = $row;
}

// total number of posts
$nrPosts = count($post);

Bu irade oto-index dizi sayısal ve $ yazılan içine satır $ şey kopyalamak gerekmez, sadece tüm satır kopyalamak olacak.

Ikinci yapı daha iyidir:

  • Bu mantıksal gruplar bir yapı içine bir yazının veri
  • Bu $ post-dizi ilk dolum daha, hiçbir veri işleme gerektirir
  • Kolayca indeksler tek bir endeks / yelpazesi ile Blog yazılarına herhangi bir sayıda işleyebilir

Eğer çıkış zaman faydası yok bir veri yapısını yapmak doğru görünmüyor. İkinci veri de Wordpress gibi büyük projelerde kullanılan neden olan yol daha kullanışlı ayarlayın.