0

次のように、すべての行の前にランダムなテキストを追加したい:

前:

One
Two
Three

後:

Love One
My Two
Other Three

更新:混乱して申し訳ありません。「前」のテキストはテキストエリアに送信されたテキストであるため、$_POST の値であり、「後」のテキストのような結果が必要です。簡単に言うと、コードは次のようになります: 前のテキストが $_POST['message'] 値の下にあり、値をエコーし​​たいが、その前にランダムなテキストがあると仮定しましょう。

私はこれを試しますが、最初の行でのみ機能し、他の行では機能しません:

$rand = array("Love", "My", "Other");
$message = trim(@$_POST['message']) ;
$message = str_replace(" ","+",$message);//Convert the space to +
$modifiedTextAreaText = str_replace( "\n", "\n$rand", $message);//This One Not Working
echo $rand[array_rand($rand, 1)]. $modifiedTextAreaText ;//This one working only for the first line

ありがとう

4

3 に答える 3

2

配列を構築してから、両方をシャッフルするか、ランダムにしたいものだけをシャッフルすることができます。次に、2つを組み合わせます。

<?php
$rands = array("Love", "My", "Other");
shuffle($rands);
$words = array("One", "Two", "Three");
$new = array_combine($rands, $words);

foreach($new as $key => $val){
    echo "$key $val<br />\n";
}
于 2012-12-30T17:54:17.203 に答える
2

次のような意味でしたか:

<?php

$randomWords = array('Love', 'My', 'Other');

$randomKey = array_rand($randomWords, 1);
echo $randomWords[$randomKey] . " One<br />";

$randomKey = array_rand($randomWords, 1);
echo $randomWords[$randomKey] . " Two<br />";

$randomKey = array_rand($randomWords, 1);
echo $randomWords[$randomKey] . " Three<br />";
于 2012-12-30T17:14:40.033 に答える
1

必要なテキストを配列に設定し、配列要素キーで rand() 関数を呼び出してから、要素の例を出力します

$text = array( 0=> "text0", 1=> "text1", 2=> "text2");
$randomtext = rand (0,2);
echo $text['$randtext'];
于 2012-12-30T17:08:23.577 に答える