-1

私は次のことを達成しようとしていますが、うまくいかないようです。仮にそうだったとしても、正しい方法でやっているとは思えません。

この配列があるとしましょう:

$array = array(
    array(1, 2, 3),
    array(1, 2, 3),
    array(1, 2, 3)
);

今、私はその多次元配列のすべての順列を取得したいのですが、すべての「部分配列」にはまだ 1、2、および 3 が必要です。したがって、これらは問題ありません。

$array = array(
    array(2, 1, 3),
    array(1, 2, 3),
    array(1, 2, 3)
);

$array = array(
    array(2, 3, 1),
    array(1, 2, 3),
    array(1, 2, 3)
);

しかし、これはそうではありません:

$array = array(
    array(3, 3, 3),
    array(1, 2, 1),
    array(1, 2, 2)
);

私はかなり試しましたが、戻ってきたのは膨大な量のforループだけです。そして、それはこれを達成するための正しい方法ではないようです。

誰かが助けてくれることを願っています!

4

2 に答える 2

-1

私はあなたが望むものを手に入れません-そしてあなたはあなたが望むものを明確に表現することはできません...しかし、これは少なくともあなたが例として与えたものを作成します.

$array = array(
  array(1, 2, 3),
  array(1, 2, 3),
  array(1, 2, 3)
);


foreach ($array AS $key => $values) {
  shuffle($array[$key];
}

var_dump($array);
于 2013-09-22T11:37:57.917 に答える