我被卡住了.我需要根据提供的数字创建一个数组,我无法想到任何方法.
需要做的是:如果数字是1需要的数组array("2","3","4","10")
如果数字是2需要的数组array("3","4","10")
如果数字是3需要的数组array("4","10")
如果数字是4需要的数组array("10")
如果数字10不需要数组.
除了有大量的做ifs和elseifs,有没有更优雅的方式来做到这一点?这只是针对这个问题.实际情况更糟.
我的方法:
if ($num == 1) {
$array = array("2","3","4","10");
} elseif ($num == 2) {
$array = array("3","4","10");
} etc.
Run Code Online (Sandbox Code Playgroud)
$array = array(1, 2, 3, 4, 10);
$result = array_slice($array, array_search($num, $array) + 1);
Run Code Online (Sandbox Code Playgroud)
例:
$array = array(1, 2, 3, 4, 10);
foreach ($array as $num)
{
echo '<pre>' . print_r(array_slice($array, array_search($num, $array) + 1), TRUE) . '</pre>';
}
Run Code Online (Sandbox Code Playgroud)
这给出了:
1:
Array
(
[0] => 2
[1] => 3
[2] => 4
[3] => 10
)
2:
Array
(
[0] => 3
[1] => 4
[2] => 10
)
3:
Array
(
[0] => 4
[1] => 10
)
4:
Array
(
[0] => 10
)
10:
Array
(
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
545 次 |
| 最近记录: |