我不确定是否有某种PHP功能可以帮助我简单地做到这一点.我想我会问.
假设我有5个产品[prod1,prod2,prod3,prod4,prod5]
所有这些产品都是相互关联的,所以我需要得到这样的东西:
prod1, prod2, prod3, prod4, prod5
prod2, prod3, prod4, prod5, prod1
prod3, prod4, prod5, prod1, prod2
prod4, prod5, prod1, prod2, prod3
prod5, prod1, prod2, prod3, prod4
echo,保存为变量,对我来说没关系.
在我的例子中,我说5,但实际上可能有任意数量的产品.是否有一个功能可以自动执行n产品?我甚至不知道该怎么称呼它,然后我将它们匹配在一起.
你可以这样做:
$arr = array($prod1, $prod2, $prod3, $prod4, $prod5);
for ($i = 0; $i < count($arr); $i++) {
array_push($arr, array_shift($arr));
print_r($arr);
}
Run Code Online (Sandbox Code Playgroud)
小智 0
另一个解决方案:
$array = array('$prod1', '$prod2', '$prod3', '$prod4', '$prod5');
$result = array();
for ($i = 0; $i < count($array); $i++) {
$result[] = array_merge( array_slice($array, $i), array_slice($array, 0, $i) );
}
print_r($result);
Run Code Online (Sandbox Code Playgroud)
输出:
Array
(
[0] => Array
(
[0] => $prod1
[1] => $prod2
[2] => $prod3
[3] => $prod4
[4] => $prod5
)
[1] => Array
(
[0] => $prod2
[1] => $prod3
[2] => $prod4
[3] => $prod5
[4] => $prod1
)
[2] => Array
(
[0] => $prod3
[1] => $prod4
[2] => $prod5
[3] => $prod1
[4] => $prod2
)
[3] => Array
(
[0] => $prod4
[1] => $prod5
[2] => $prod1
[3] => $prod2
[4] => $prod3
)
[4] => Array
(
[0] => $prod5
[1] => $prod1
[2] => $prod2
[3] => $prod3
[4] => $prod4
)
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
125 次 |
| 最近记录: |