【问题标题】:Shuffle array losing data随机数组丢失数据
【发布时间】:2018-09-30 19:07:07
【问题描述】:

我有一个数组,当我用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);

【问题讨论】:

    标签: php arrays shuffle


    【解决方案1】:

    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);
    }
    

    【讨论】:

      【解决方案2】:

      PHP shuffle 函数返回布尔值。

      shuffle — 随机排列数组

      bool shuffle (array &$array)

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

      返回值

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-11
        • 2019-01-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-07
        • 2016-08-29
        • 1970-01-01
        相关资源
        最近更新 更多