2013-01-02 142 views
-4

比如我有串,如何從PHP中使用字符串隨機選擇字符?

$str = "abab cdcd efef" 

如何從字符串的每個部分選擇兩個信嗎?我想隨機產生這樣的東西:

$result = "ab cc fe" 

從上面。有沒有辦法做到這一點?

如果不是,我可以自動將字符串分成三個字符串嗎?有沒有辦法根據空白字符或一定數量的字符(4)來分割字符串? 謝謝。

編輯:我可以使用爆炸嗎?

+1

你試過了什麼? http://php.net/manual/en/function.substr.php http://php.net/manual/en/function.rand.php http://php.net/manual/en/function.explode。 PHP應該足以讓你開始。 – sachleen

+0

你的編碼在哪裏?你試過什麼了?請問 – Rithu

回答

0

所有你需要的是

$str = "abab cdcd efef"; 
$list = array_map(function ($v) { 
    $v = str_split($v); 
    shuffle($v); 
    return implode(current(array_chunk($v, 2))); 
}, explode(" ", $str)); 

echo "<pre>"; 
print_r($list); 

Output

Array 
(
    [0] => ab 
    [1] => cd 
    [2] => ef 
) 

Simple Online Demo

+0

非常感謝。 – Sunden

+0

歡迎您....淨時間添加一些代碼來顯示工作量,以便您不會downvoted .... – Baba

0
<?php 
$str = "abab cdcd efef"; 

$values=explode(" ",$str); 
$output=""; 
foreach($values as $value) 
{ 
    $output.= substr($value,2)." "; 
} 
echo trim($output); 


?> 

編輯:隨意的一個嘗試可以

$output.= substr($value,rand(0,strlen($value)-2),2)." "; 
0

你可以不喜歡這個 -

$str = "abab cdcd efef"; 
$array = explode(" ",$str); 
$rand_keys = array_rand($array, 1); 
+0

的問題是什麼,請將$ input更改爲上面使用的名稱。 $ input is undefined –

相關問題