Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中仅使用for循环的反向字符串_Php_Arrays - Fatal编程技术网

在php中仅使用for循环的反向字符串

在php中仅使用for循环的反向字符串,php,arrays,Php,Arrays,如果有一个阵列: $arr = array('o', 'v', 'e', 'r','f', 'l', 'o', 'w'); 我想在php中使用for loop only显示输出,如1st string=revo和2nd string=flow。不要使用任何内置的php函数 那我怎么做呢?请帮助我。解决方案是: $arr = array('o', 'v', 'e', 'r','f', 'l', 'o', 'w'); |_________________| |_______

如果有一个阵列:

$arr = array('o', 'v', 'e', 'r','f', 'l', 'o', 'w');
我想在php中使用for loop only显示输出,如
1st string=revo
2nd string=flow
。不要使用任何内置的php函数

那我怎么做呢?请帮助我。

解决方案是:

$arr = array('o', 'v', 'e', 'r','f', 'l', 'o', 'w');
            |_________________| |_________________|
                     ^                    ^
             Reverse this half  Keep this half as it is
然后在数组中循环创建第一个和第二个字符串

$arr = array('o', 'v', 'e', 'r','f', 'l', 'o', 'w');

// Reverse the first half of the array
$arrLength = count($arr);
for($i = 0; $i < $arrLength / 4; ++$i){
    $tmp = $arr[$i];
    $arr[$i] = $arr[(($arrLength / 2) - 1) - $i];
    $arr[(($arrLength / 2)  - 1) - $i] = $tmp;
}

// Loop through the array to create first and second string
$firstString = $secondString = "";
for($i = 0; $i < $arrLength; ++$i){
    if($i < $arrLength / 2){
        $firstString .= $arr[$i];
    }else{
        $secondString .= $arr[$i];  
    }
}

echo "First String: " . $firstString . "<br />";
echo "Second String: " . $secondString . "<br />";
试试这个

     <?php
     $arr = array('o', 'v', 'e', 'r','f', 'l', 'o', 'w');
     $str1='';
     $str2 ='';
     //where we gave for loop length as 8(arr length)
     for($i = 0; $i <8; $i++) {

        if($i<4){ //which is used to reverse the first half string 

            $j =3;

            $str1.=$arr[$j-$i];
            //where we reverse the order as 3,2,1,0.and concat the each char as string.
        }else{
            $str2 .= $arr[$i];
       //rest char is simply passed as string 2
        }  
    }

    echo $str1."</br>";
    echo $str2;
    ?>


如何告诉在哪里分割输入?只需将数据分成大小相同的两部分?数组是否总是包含偶数个字符?如果有一个数组包含奇数个字符怎么办?为什么有人要尝试这个?一个好的答案解释了所做的更改以及更改的原因。
     <?php
     $arr = array('o', 'v', 'e', 'r','f', 'l', 'o', 'w');
     $str1='';
     $str2 ='';
     //where we gave for loop length as 8(arr length)
     for($i = 0; $i <8; $i++) {

        if($i<4){ //which is used to reverse the first half string 

            $j =3;

            $str1.=$arr[$j-$i];
            //where we reverse the order as 3,2,1,0.and concat the each char as string.
        }else{
            $str2 .= $arr[$i];
       //rest char is simply passed as string 2
        }  
    }

    echo $str1."</br>";
    echo $str2;
    ?>