0
<?php
    $name = "Freddy";
    $len = strlen($name);
    $rand = rand(0, $len - 1);
    echo substr($name ,$rand, $rand - 1);
?>

php 代码应该只回显名称的一个字符(使用 strlen、rand 和 substr),但这种情况有时会发生。我相信这是变量 $rand 的问题,但是经过两天的业余代码凝视后,我不太确定。帮助将不胜感激

据我了解:

  • $name = "弗雷迪"
  • $len = 5
  • $兰特 = 0-4
4

3 回答 3

0

substr的第三个参数是字符串的长度,所以应该是1:

$name = "Freddy";
$len = strlen($name);
$rand = rand(0, $len - 1);
echo substr($name ,$rand, 1);
于 2013-07-05T17:28:20.170 回答
0
$name = "Freddy";
$len = strlen($name);
$rand = rand(0, $len - 1);
echo $name{$rand};

为此使用字符串字符偏移量$string{#}

于 2013-07-05T17:45:45.383 回答
0

为什么你不简单地这样做?

$name = "Freddy";
$len = strlen($name);
$rand = rand(0, $len - 1);
echo $name[$rand];

数组索引?

于 2013-07-05T17:46:08.320 回答