2014-03-12 145 views
0

我是新來的PHP,我正在做這個任務,我只是應該使用for循環做整個代碼的缺失代碼。任何人都可以幫助我,我失蹤了嗎?先謝謝你! 地希望我的for循環正常工作,我得到的輸出是:php從最大到最小,反之亦然,因此不會相應地工作

Order in the beginning: 4,7,-2,0,6 
Largest to smallest: Array 
Smallest to largest: Array 

反而被認爲是例如:

Order in the beginning: 4,7,-2,0,6 
Largest to smallest: 7,6,4,0,-2 
Smallest to largest: -2,0,4,6,7 

分配:

完成下面的PHP腳本以便以特定的順序打印表格中給出的數字。腳本應該組織從最大到最小和從最小到最大的數字,並在屏幕上打印這兩個數字字符串。點將作爲字符串發送到腳本,點用逗號分隔(例如4,5,2)。點分爲具有爆炸功能的陣列。不允許使用排序功能。做一個for-statement的組織。不完整的程序:

<?php 

    $numberstring = $_GET['numberstring']; 

    $array = explode(',',$numberstring); 



    echo "Order in the beginning: $numberstring\n"; 



    // Your code here and only here 



    echo "Largest to smallest: $largest_smallest\n"; 

    echo "Smallest to largest: $smallest_largest\n"; 

?> 

我的代碼安排在降序和從大到小的順序輸入:

for ($j = 0; $j < count($array); $j++) { 
    for ($i = 0; $i < count($array) - 1; $i++) { 
     if ($array[$i] > $array[$i + 1]) { 
      $temp = $array[$i + 1]; 
      $array[$i + 1] = $array[$i]; 
      $array[$i] = $temp; 

     } 

    } 
$largest_smallest=$array; 
} 


for ($j = 0; $j < count($array); $j++) { 
    for ($i = 0; $i < count($array) - 1; $i++) { 
     if ($array[$i] < $array[$i + 1]) { 
      $temp = $array[$i + 1]; 
      $array[$i + 1] = $array[$i]; 
      $array[$i] = $temp; 

     } 
    } 
    $smallest_largest=$array; 
} 

回答

1

基本上,你看Array因爲像你將一個字符串,你不能打印的數組。如果你想以與輸入相同的格式輸出,逗號分隔,你需要使用一個函數來完成。如果explode通過將字符串拆分爲分隔符來將字符串轉換爲數組,您是否可以想到一個名稱相反的函數?這個提示就是名字。

+1

知道了謝謝! – user3358884

+0

非常好。提供一個提示並且看到提問者自己找到解決方案總是更好。更多的獎勵:) – MueR