Jump to content

johnbb

New Members
  • Posts

    2
  • Joined

  • Last visited

johnbb's Achievements

Newbie

Newbie (1/5)

0

Reputation

  1. I actually don't need them. I'm supposed to put 60466176 entries into a database and check db's size. I think, if I put 1 entry at a time into the db, the function won't run out of memory. However I felt that 8 GB should have sufficed VirtualAlloc() failed: [0x00000008] Not enough storage is available to process this command. VirtualAlloc() failed: [0x00000008] Not enough storage is available to process this command. PHP Fatal error: Out of memory (allocated 908066816) (tried to allocate 805306376 bytes) in C:\Users\***\PhpstormProjects\ty\functions.php on line 21 Fatal error: Out of memory (allocated 908066816) (tried to allocate 805306376 bytes) in C:\Users\***\PhpstormProjects\ty\functions.php on line 21
  2. <?php function sampling($chars, $size, $combinations = array()) { # if it's the first iteration, the first set # of combinations is the same as the set of characters if (empty($combinations)) { $combinations = $chars; } # we're done if we're at size 1 if ($size == 1) { return $combinations; } # initialise array to put new values in $new_combinations = array(); # loop through existing combinations and character set to create strings foreach ($combinations as $combination) { foreach ($chars as $char) { $new_combinations[] = $combination . $char; } } # call same function again for the next iteration return sampling($chars, $size - 1, $new_combinations); } // example $chars = array('q', 'a', 'z', 'w', 's', 'x', 'e', 'd', 'c', 'r', 'f', 'v', 't', 'g', 'b', 'y', 'h', 'n', 'u', 'j', 'm', 'i', 'k', 'o', 'l', 'p', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'); $output = sampling($chars, 5); print_r($output); ?> Hello, I'm using the above function and I'm running out of memory (8 GB). Can someone please enhance this function. This function generates all possible 5 character combinations.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.