从数组中获取指定的行数

时间:2013-04-01 11:07:39

标签: arrays range rows

我有一个像这样1000行的数组,我想转换成一个字符串,但只有50行。

 $thearray = Array
        (
          [0] => row1
          [1] => row2
          [2] => row3
          [3] => row4
          [4] => row5
          [5] => row6
          ...
          [999] => row1000
        )

输出应该像我使用的那样:

$string1 = implode(',', $thearray);

但正如我所说,我需要$string1从数组中只有50行,如果可能的话,让它们随机化。我需要一些建议。 THX

1 个答案:

答案 0 :(得分:0)

您可以尝试此操作,请参阅代码中的注释以获取解释,并http://3v4l.org/hjuv6进行演示

// Lets create a dummy array
$array = array();

for($i = 0; $i < 1000; $i++) {
  $array[] = $i;
}

// Lets make a randomized temporary array
$backUpArray = $array;
$tempArray = array();

for($i = 0; $i < 50; $i++) {

  // Select random Index
  $randomIndex = rand(0 , count($backUpArray));
  // Copy it to the temp array
  $tempArray[] = $backUpArray[$randomIndex];
  // Delete the row from our backup
  unset($backUpArray[$randomIndex]);
  // Reorganize the key indexes
  $backUpArray = array_values($backUpArray);
}


$string1 = implode(",", $tempArray);

var_dump($string1);