2

简单的问题,我用以下方式填充了我的数组:

$options = range(1, 10);

这将导致:

  array
  (
     [0] => 1
     [1] => 2
     etc. etc.
  )

这不是我想要的结果。。

我需要这样的数组:

 array
 (
   [1] => 1
   [2] => 2
   etc.
 )

如何完成这个简单的任务?

4

5 回答 5

6

也许是这样的:

$options = range(0, 10);
unset($options[0]);

工作示例

于 2012-04-24T07:44:08.010 回答
3
<?php
for( $i = 1; $i <= 10; $i ++ ) {
   $array[$i] = $i;
}

瞧。:)

于 2012-04-24T07:41:47.080 回答
2

如果你想要一个单行而不是像 Berry 建议的 for 循环,只需使用array_combine

$array = array_combine(range(1,10),range(1,10));
于 2012-04-24T07:44:18.617 回答
2
function myRange($start, $limit, $step)
{
    $myArr = array();
    foreach((array) range($start, $limit,$step) as $k => $v)
    {
        $myArr[$k+1] = $v;
    }
    return $myArr;
}

print_r(myRange(0, 100, 10));
?> 

结果 - - -

Array
(
    [1] => 0
    [2] => 10
    [3] => 20
    [4] => 30
    [5] => 40
    [6] => 50
    [7] => 60
    [8] => 70
    [9] => 80
    [10] => 90
    [11] => 100
)
于 2012-04-24T08:15:50.240 回答
0

或者只是移动数组

foreach ( $array as $key => $val )
    $result[ $key+1 ] = $val;
于 2012-04-24T07:52:10.607 回答