[英]Shuffle input number values inside Loop php
您好,我需要帮助循环中的随机数组值,直到第一个值再次显示并匹配我创建函数工作完美输出值不同
就像这里是输入 56739 第一个和最后一个数字 95 然后是 36 和 7 这是从第一行开始的第二行 73695 它的循环直到第一行匹配然后停止循环
这是代码
<?php
if(isset($_REQUEST['submit']))
{
$string = preg_replace('/\s+/', '', $_REQUEST['convert']);
$string1 = preg_replace('/\s+/', '', $_REQUEST['convert']);
echo $string;
echo "<br>";
$formatted = implode(' ',str_split($string));
echo $formatted;
echo "<br>";
$count = mb_strlen($string);
for($loop=0;$loop<$count;$loop++)
{
$value='';
$j=$count-1;
$total=$count/2;
for($i=0;$i<$total;$i++)
{
$value .=$string[$j];
$value .=$string[$i];
$j--;
}
if($count%2==0)
{
$value;
$formatted = implode(' ',str_split($value));
echo $formatted;
}
else{
$value=substr_replace($value, "", -1);
$formatted = implode(' ',str_split($value));
echo $formatted;
}
echo "<br>";
$string=$value;
if($value==$string1){exit();}
}
}
?>
<form method="POST">
<input type="text" name="convert" placeholder="Enter String">
<input type="submit" name="submit" value="Convert">
</form>
这是此代码的输出,但它无效
5 6 7 3 9
9 5 3 6 7
7 9 6 5 3
3 7 5 9 6
6 3 9 7 5
5 6 7 3 9
我需要这种类型的输出
5 6 7 3 9
7 3 6 9 5
6 9 3 5 7
3 5 9 7 6
9 7 5 6 3
5 6 7 3 9
这段代码在第二行给出这样的输出
9 5 3 6 7
但我需要这样
7 3 6 9 5
检查$value == $string1
在打印之前而不是之后,这样就不会打印匹配的值。
<?php
if(isset($_REQUEST['submit']))
{
$string = preg_replace('/\s+/', '', $_REQUEST['convert']);
$string1 = preg_replace('/\s+/', '', $_REQUEST['convert']);
echo $string;
echo "<br>";
$formatted = implode(' ',str_split($string));
echo $formatted;
echo "<br>";
$count = mb_strlen($string);
for($loop=0;$loop<$count;$loop++)
{
$value='';
$j=$count-1;
$total=$count/2;
for($i=0;$i<$total;$i++)
{
$value .=$string[$j];
$value .=$string[$i];
$j--;
}
if ($value == $string1) {
exit();
}
if($count%2==0)
{
$value;
$formatted = implode(' ',str_split($value));
echo $formatted;
}
else{
$value=substr_replace($value, "", -1);
$formatted = implode(' ',str_split($value));
echo $formatted;
}
echo "<br>";
$string=$value;
}
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.