2

これは説明するのが難しいものです。

必要な順序になっているカテゴリの配列

Array
(
[0] => products
[1] => installation
[2] => software setup
[3] => aftecare & warranty
[4] => other
)

およびそれぞれのカテゴリを持つ別の一連の質問/回答-

Array
(
[installation] => Array
    (
        [0] => Array
            (
                [question] => Third FAQ
                [answer] => Another sample FAQ question
            )

    )

[products] => Array
    (
        [0] => Array
            (
                [question] => Another FAQ
                [answer] => This is a sample FAQ answer.
            )

    )
)

次に、カテゴリが最初の配列と同じ順序になるように、この配列を並べ替える必要があります。(つまり、インストール前の製品)

array_multisort()とusort()を試しましたが、multisortは配列の長さが異なる配列をスローし、usort()はcmp関数が整数を返す必要があるため、多少困惑しました。

ありがたいことにどんな助けも受けました。

ありがとうございました

4

2 に答える 2

2

これを試して:

$flipped_categories = array_flip($categories);
array_merge($flipped_categories, $product_array);

これにより、1つの配列が得られ、最初の配列が正しい順序で、各配列内にFAQが含まれるようになります。

于 2013-02-14T15:43:36.230 に答える
0

あなたが試すことができます

$sorted = array();
foreach ( $data as $name ) {
    foreach ( $data2 as $k => $part ) {
        if ($k == $name) {
            $sorted[$k] = $part;
        }
    }
}

print_r($sorted);

デモを見る

于 2013-02-14T15:45:37.860 に答える