たとえば、各データ行のデータベースのデータセットに、要素の識別子 (または、2 番目の方法を使用する場合は、要素の抽象的な「対」の識別子 (データベースには実際には存在しない) へのポインターを格納できます。次に、PHP で次のような配列を作成する必要があります。
array(
'id1' => array(
'value' => 'A',
'links' => array('id2', 'id3')
),
'id2' => array(
'value' => 'B',
'links' => array('id1', 'id3')
),
'id3' => array(
'value' => 'C',
'links' => array('id1', 'id2')
)
);
または、(A、B、C) のカップルを識別子でマークして、次のような配列を取得することもできます。
array(
'couples' => array(
'c1' => array('id1', 'id2', 'id3')
),
'values' => array(
'id1' => array(
'value' => 'A',
'links' => array('c1')
),
'id2' => array(
'value' => 'B',
'links' => array('c1')
),
'id3' => array(
'value' => 'C',
'links' => array('c1')
)
)
);
次に、リンクされたすべての要素を取得する単純な関数を記述します。最初のケースでは、ループしてlinks
、現在のキーで現在の配列から項目を取得する必要があります。2 番目のケースでは、ループしてlinks
、現在のカップルからすべての要素をキーでcouples
取得し、そこからすべての項目を取得する必要があります。