a question about getting some random words out of a bigger string after it has been translated:
<?=__("water, chicken, banana, rice, bread, salt, cucumber, ananas, peach")?>
on my site currently outputs:
water, kip, banaan, rijst, zout, komkommer, ananas, perzik
now imagine I want to get just 3 words from that on random. How do I do that?
It's important not to touch the words parts inside __("
& ")
part! The translater cannot process when __($var)
but ONLY when __("word1, word2, word3")
.
I imagine the best is to first put the the outcome into a string or array (this is how far I came please don't laugh)
$translated = __("water, chicken, banana, rice, bread, salt, cucumber");
echo $translated;
# shuffle & echo 3 items
How do I proceed from here to randomly get 3 words out of $entireString
?
update
$array = explode(',', $translated);
$randomKeys = array_rand($array, 3);
$translated = '';
foreach(array_keys($randomKeys) as $key){
$translated .= $array[$key].' '; // use space or comma
}
echo $translated;
echos: water kip banaan
always. so it does not seem to shuffle well?
Would it be possible to store the values not as string, but as an array? If you cant just explode them by
,
then get a random element from the array and translate that one.For example:
Would output something like
Soep, Rijst, Pindakaas, Water
(Also __ is quite an odd name for a function)
you can use
Now:
Or in
function __
: