繁体   English   中英

如何随机回显字符串的一部分?

[英]How to echo randomly a portion of a string?

我已经通过翻译函数__();成功翻译了一些引号__(); 现在我只想随意回声其中的一句话 该字符串中的所有引号均以特殊字符(例如|分隔。

Sofar我只有这个。 在解决我的随机回声之后,应该使用什么代码?

$quotes =
__("IF YOU MAKE EVERYTHING BOLD, NOTHING IS BOLD") . "|" .
__("Quality of design is an indicator of credibility") . "|" .
__("People ignore design, that ignores people");

(一个重要的限制:必须使用__("");精确地将引号引起来");以便可以对其进行检查和翻译。) __($variable)不适用于我购买的当前清理脚本,因此这些将无法正常工作。

您已经在每个引号上分别调用__() ,为什么不保存所有额外的翻译并执行类似的操作:

$quotes = array('quote1', 'quote2', 'quote3');
$index = array_rand($quotes);
echo __($quotes[$index]);

编辑:为了满足您的其他要求,对__()的调用必须立即包围每个字符串,您可以这样做:

$quotes = array(__('quote1'), __('quote2'), __('quote3'));
$index = array_rand($quotes);
echo $quotes[$index];

此处最大的缺点是,尽管只打印了一个字符串,但您现在正在为该数组中的每个字符串查找翻译,但这与您在“一个大字符串”解决方案中的情况相同。

为什么饼干全都在一个字符串中,而不是一个数组中? 如果是这种情况,您的问题将立即得到解决。 站在看台上| 然后将其随机索引到创建的数组中以选择随机报价。

为什么不将它们保留在数组中,只翻译实际输出的内容?

$quotes = array(
    "IF YOU MAKE EVERYTHING BOLD, NOTHING IS BOLD",
    "Quality of design is an indicator of credibility",
    "People ignore design, that ignores people",
);
$randomQuote = $quotes[ rand(0, count($quotes)-1)];
echo __($randomQuote);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM