随机数组丢失数据

时间:2018-09-30 19:07:08

标签: php arrays shuffle

我有一个数组,当我用print_r进行检查时,输出为:

Array ( [0] => metaalboutique.jpg [1] => asc.jpg [2] => thure.jpg [3] => stegge.jpg [4] => aws.jpg [5] => rsw.jpg [6] => pmm.jpg )

我希望对导出进行改组,因此我使用shuffle(),但是当我现在用print_r检查输出时,我只会看到1作为输出。

$portfolio = array
  (
    'thure.jpg',
    'rsw.jpg',
    'pmm.jpg',
    'asc.jpg',
    'stegge.jpg',
    'metaalboutique.jpg',
    'aws.jpg'
  );

$shuffled_portfolio = shuffle($portfolio);
print_r($portfolio);
print_r($shuffled_portfolio);

2 个答案:

答案 0 :(得分:4)

shuffle对数组进行混洗,并返回一个布尔值以指示改组是否成功(TRUE)(FALSE):

$portfolio = array
  (
    'thure.jpg',
    'rsw.jpg',
    'pmm.jpg',
    'asc.jpg',
    'stegge.jpg',
    'metaalboutique.jpg',
    'aws.jpg'
  );
print_r($portfolio);

$success = shuffle($portfolio);
if ($success) {
    # $portfolio is now shuffled
    print_r($portfolio);
}

答案 1 :(得分:1)

PHP shuffle函数返回布尔值。

  

随机播放—随机播放数组

     

bool shuffle(array&$ array)

&$ array-&符号表示您正在该函数中传递数组的引用。

返回值

  

成功返回TRUE(1),失败返回FALSE(0)。