Home >Backend Development >PHP Tutorial >How to randomly swap elements in an array in php, php array element swap_PHP tutorial

How to randomly swap elements in an array in php, php array element swap_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 09:54:00858browse

How to randomly swap elements in an array in php, php array element swap

The example in this article describes how to randomly swap elements in an array in php. Share it with everyone for your reference. The specific analysis is as follows:

This is a custom PHP function that randomly swaps array elements. PHP already has a built-in function shuffle($Array) with the same function. Please refer to this code

// I noticed that there is already a built-in function that
// does the same - so don't use mine ;-)
//
// --> shuffle($Array);
//
// http://de2.php.net/manual/de/function.shuffle.php
//
function RandomizeArray($array){
  // error check:
  $array = (!is_array($array)) ? array($array) : $array;
  $a = array();
  $max = count($array) + 10;
  while(count($array) > 0){    
    $e = array_shift($array);
    $r = rand(0, $max);
    // find a empty key:
    while (isset($a[$r])){
      $r = rand(0, $max);
    }    
    $a[$r] = $e;
  }
  ksort($a);
  $a = array_values($a);
  return $a;
}

Usage example:

/*
** Example:
*/
$test_array = array('why','dont','visit','www','jonas','john','de',':-)');
print implode(", ", $test_array);
print "\n";
print implode(", ", RandomizeArray($test_array));
/*
Example output:
why, dont, visit, www, jonas, john, de, :-)
www, de, jonas, john, visit, why, :-), dont
*/

I hope this article will be helpful to everyone’s PHP programming design.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/998576.htmlTechArticleHow to randomly exchange elements in an array in php, php array element exchange This article describes how php exchanges elements in an array A method of performing random swaps. Share it with everyone for your reference. Specifically...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn