这是一个棘手的解释..
按所需顺序排列的类别数组
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函数返回一个整数,这让我有点难过。
感激不尽的任何帮助。
谢谢
答案 0 :(得分:2)
试试这个:
$flipped_categories = array_flip($categories);
array_merge($flipped_categories, $product_array);
应该给你一个数组,其中第一个数组按正确顺序,现在包含每个数组中的常见问题解答。
答案 1 :(得分:0)
你可以尝试
$sorted = array();
foreach ( $data as $name ) {
foreach ( $data2 as $k => $part ) {
if ($k == $name) {
$sorted[$k] = $part;
}
}
}
print_r($sorted);