1

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

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

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

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

但如前所述,我只需$string1要从数组中获取 50 行,如果可能的话,让它们随机化。我需要一些建议。谢谢

4

1 回答 1

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);
于 2015-07-29T05:45:02.080 回答