繁体   English   中英

在循环php中随机播放输入数值

[英]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.

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