0

したがって、これは私が見ているだけの単純なものかもしれませんが、これを行う方法を理解する必要があります。これは私が取っているクラスの質問ですが、誰かが私の仕事をしてくれるとは思っていません (私は決してそのように学ぶことはありません) 私はより良い出発点を探しています. この例では、配列を作成し、並べ替えてから反転する必要がありました。それくらい落ちました。

最後の部分は、指定された配列を反転された可能性のあるバージョンと比較し、反転が正しい場合は「True」を出力し、そうでない場合は「False」を出力します。また、組み込みの php 配列関数を使用せずに実行する必要があります。プログラミングはまだ初心者で、学びたいと思っています。この最後の部分からどこから始めればよいのかわからないので、どんな助けでも大歓迎です。これは私がこれまでに持っているものです。

<?php

//Original array
$the_array = array(5,9,2,8,3,1,7,6,4);
$arrayString = implode(',',$the_array);
echo ("The original array is: ");
echo $arrayString;
echo "<br />";

//Sort loop
// Compares each value in the array to the next one by seeing if the value is greater then the next +1
// If the value is greater then the next value +1 then it stores the value and moves it into the next position.
for ($j = 0; $j < count($the_array); $j++)
{
    for ($i = 0; $i < count($the_array)-1; $i++)
    {
        if ($the_array[$i] > $the_array[$i+1])
        {
            $tmp = $the_array[$i+1];
            $the_array[$i+1] = $the_array[$i];
            $the_array[$i] = $tmp;
        }
    }
}
$arrayString = implode(',',$the_array);
echo ("The array after sorting is: ");
echo $arrayString;
echo "<br />";

//reversal loop
for ($tmp = sizeof($the_array) - 1; $tmp >= 0; $tmp--)
{
    $reverse[] = $the_array[$tmp]; //New reversed array
}
echo ("The reversed array is: ");
$reverseString = implode(',',$reverse);
echo $reverseString;

私のコードの書式設定に関するヒントもいただければ幸いです。

私が受け取ったすべての応答と、それらを取得する速度に実際に感謝したいと思います. すべてのコメントと回答は、すでに私に多くの助けを与え始めています. 問題を考えすぎていたのかもしれませんが、指摘されたことのいくつかがこれに気付くのに役立ちました. 改めて感謝いたします。

4

4 に答える 4

3
  • を最初Aの配列とBし、2 番目の配列を
  • If長さA== B Thenの長さ
    • i = 0 からLENGTH(A)- 1 の場合
      • A[i]!= の場合B[LENGTH(A) - 1 - i]
        • 偽を返す
    • True を返す
  • そうしないと
    • 偽を返す
于 2013-06-12T01:30:26.287 に答える
0

もちろん最も簡単な方法:

$array1 = array(1,2,3);
$array2 = array(3,2,1);

if($array1 == array_reverse($array2)){
    echo 'Reverse duplicates';
}

配列関数を使用できない場合は、forステートメントを使用してループできます。

<?php
$array1 = array(1,2,3);
$array2 = array(3,2,1);
$future_array2 = array();

for($x=(count($array1)-1);$x>=0;$x--){
    $future_array2[] = $array2[$x];
}

echo '<pre>',print_r($future_array2),'</pre>';

$array2 = $future_array2;

if($array1 == $array2){
    echo 'Reverse duplicates';
}
于 2013-06-12T01:30:46.787 に答える