Re: Multiple words str_shuffle

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Jul 6, 2008, at 305PM, Ron Piggott wrote:


I am trying to scramble individual words and/or phrases.

When it is a phrase I would like to keep the letters of each word
together, with a space between each one.  The code I have so far is
below.  I use PHP 4.4.7.  The code below is fine for a single word; it
is phrases that I am now trying to accommodate.

$orig_phrase = 'rise and shine';

// Split the phrase into an array with each word as an element
$array_phrase = explode(' ',$orig_phrase);

// Cycle through the array processing one word at a tie
foreach($array_phrase as $key => $value)
{
// $orig_value is used in the do while loop to ensure that the "shuffled" string is not the original string.
	$orig_value = $value;
	
// Shuffle the string, and continue to do so until the returned string is not the original string
	do{
		$value = str_shuffle($value);	
	} while($value == $orig_value);

	// Uppercase value
	$value = strtoupper($value);
	
	// Insert a space after every letter
	$value = chunk_split($value,1,' ');
	
	// Set array value to newly formatted version
	$array_phrase[$key] = $value;
}

// I'm using   so it will echo and be obvious that there are two spaces between words.
$scramble_phrase = implode('  ',$array_phrase);

echo $orig_phrase;
echo '<br />';
echo $scramble_phrase;

Everything after the do...while loop can be easily combined into one line; I left it as separate lines for clarity.

Brady

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux