【问题标题】:applying a random variable randomly随机应用随机变量
【发布时间】:2011-05-15 17:02:52
【问题描述】:

我有代码生成随机字体并将新的随机字体应用于每一行文本,并想添加一个

$line = str_replace ("a", "@", $line);

但我希望将其应用于每行的机会为 10%,而不是应用于整个字符串。我该怎么做?这是我现有的代码:

$fonts = array("Helvetica", "Arial", "Courier", "Georgia", "Serif", "Comic Sans", "Tahoma", "Geneva", "Times New Roman");
shuffle($fonts);

$output = "";

$lines = array_slice(file("users.txt"), -20, 20);

$i = 0;
foreach ( $lines as $line ) {
  if($i == count($fonts)) {
    shuffle($fonts);
    $i = 0;
  }
  $output .= '<div style="font-size: ' . rand(15, 23) . 'px; font-family:' . $fonts[$i] . '; margin-left: ' . rand(0, 60) . '%; opacity: 0.8;">' . $line . "</div>\n";
  $i++;
    }

echo $output;

我刚刚开始熟悉 php,感觉好像我有一个全新的网络可以玩! :D

【问题讨论】:

  • 您是指将 php 拉入 css 文件,还是 css 有允许随机和字符串替换的功能?

标签: php string random


【解决方案1】:

如果您希望有 10% 的机会将您的“a”更改为“@”,请尝试插入此代码:

if(rand(0, 9) == 1)
{
    $line = str_replace ("a", "@", $line);
}

它会生成一个从 0 到 9 的整数,如果它等于 1(10% 的机会,那么它会应用您的格式。

【讨论】:

  • 是的,也比我的干净一点
  • 记录一下,生成的数字等于多少无关紧要
  • 只要在0到9之间!
  • 是的,我知道 equals 部分,只是为了更彻底地解释解决方案而提到它。感谢您的“正确答案勾选”我需要声誉点:)
  • 这是为了大家的知识:)
【解决方案2】:

所以,在foreach($lines as $line) 循环中,添加这个

$rand = rand(0,9);
if($rand == 0)
{
    $line = str_replace("a","@",$line);
}

【讨论】:

  • 完美,谢谢,我会在这个项目上充分利用这些知识!
猜你喜欢
  • 2020-09-21
  • 1970-01-01
  • 1970-01-01
  • 2010-09-18
  • 2017-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多