使用PHP在随机位置放入文章

时间:2016-09-13 20:45:34

标签: php arrays

我正在尝试将随机文本放入文章中,因此我使用explode将每个单词都设为数组:

$article = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec lectus urna, tempor nec dui eget, ullamcorper interdum ex. Sed velit velit, sodales non eros eu, porttitor ultricies risus. Morbi semper ultrices tortor non vestibulum. Vestibulum eu lorem odio. Duis placerat dapibus lorem sit amet viverra. Nam at sagittis augue, sit amet interdum metus. Curabitur quis diam pellentesque, auctor magna eget, cursus orci. Proin et fringilla mi. Vivamus egestas sed turpis vel scelerisque. Proin sit amet commodo urna, vel pulvinar lacus. Praesent tincidunt ut diam at interdum.';

$words = explode(' ', $article);
// a new array to hold the string we are going to create
$newString = array();
// loop all words of the original string
foreach ($words as $i => $w) {
    // add every word to the new string
    $newString[] = $w;
}

$inserted = array('ad this in random place'); // Not necessarily an array
$ilejest = count($newString); // count all words from array 
$wstawwloowo = rand(1, $ilejest); // random number from 1 to max number of values in array
$newString = array_splice( $newString, $wstawwloowo, 0, $inserted ); //

// create a string from the array of words we just composed
$contenttre = implode(' ', $newString);

如何使它有效?

2 个答案:

答案 0 :(得分:0)

array_splice通过引用获取第一个参数,因此不要将结果分配给相同的变量名$newString

array_splice($newString, $wstawwloowo, 0, $inserted);这就够了。

答案 1 :(得分:0)

  $article = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec lectus urna, tempor nec dui eget, ullamcorper interdum ex. Sed velit velit, sodales non eros eu, porttitor ultricies risus. Morbi semper ultrices tortor non vestibulum. Vestibulum eu lorem odio. Duis placerat dapibus lorem sit amet viverra. Nam at sagittis augue, sit amet interdum metus. Curabitur quis diam pellentesque, auctor magna eget, cursus orci. Proin et fringilla mi. Vivamus egestas sed turpis vel scelerisque. Proin sit amet commodo urna, vel pulvinar lacus. Praesent tincidunt ut diam at interdum.';

  $words = explode(' ', $article);
                    // a new array to hold the string we are going to create
  $randId = rand(0, sizeOf($words));
  array_splice($words, $randId, 0, array('Random string in random place'));
  $newString = implode(',', $words);
  echo $newString; // Will print the new string