2013-04-18 5 views
0

안녕하세요 누구든지 나를 도울 수 있는지 궁금합니다. 설문지를 만들었습니다. 설문지에서 여러 개의 결과 (%로 표시)가 출력되었습니다. result.php 페이지에 해당 결과 ($ careername) 및 해당 링크 ($ link)와 함께 결과를 표시 할 수 있습니다. 예 : 나는 5 개의 결과를 가지고 있으며 각각은 해당 커리어와 링크에 링크되어 있으며 결과는 results.php 페이지에 표시됩니다. 그러나 결과 값의 내림차순으로 표시하려면 결과, 간명 및 링크가 필요합니다. 현재 그들은 무작위 순서로 표시하고 있습니다. 다음은 내가 일하고있는 코드입니다. 누군가 감사하는 마음이 든 아이디어가 있다면. "$nursing" 등, $nursing해야한다는배열 변수 내에서 값의 내림차순으로 결과 표시

<?php 
$careername1 = 'Nursing '; 
$careername2 = 'Footballer '; 
$careername3 = 'Dentist '; 
$careername4 = 'Hairdressing '; 
$careername5 = 'IT '; 
?> 

<?php 
$link1 = '<br><a href="http://www.nhscareers.nhs.uk/explore-by-career/nursing/" target="_blank">More information on Nursing</a></br></br>'; 
$link2 = '<br><a href="#" target="_blank">More information on Footballing</a></br> </br>'; 
$link3 = '<br><a href="#" target="_blank">More information on Dentistry</a></br></br>'; 
$link4 = '<br><a href="#" target="_blank">More information on Hairdressing</a></br></br>'; 
$link5 = '<br><a href="#" target="_blank">More information on IT</a></br></br>'; 
?> 
<?php 
$nursing = array($careername1, $result1, "% ", $link1); 
$footballer = array($careername2, $result2, "% ", $link2); 
$dentist = array($careername3, $result3, "% ", $link3); 
$hairdresser = array($careername4, $result4, "% ", $link4); 
$IT = array($careername5, $result5, "% ", $link5); 
?> 
<h1>Your results are listed below:</h1> 

<?php 
$items = array("$nursing", "$footballer", "$dentist", "$hairdresser", "$IT"); 
arsort($items); 
foreach ($items as $key => $val) { 
echo "$key = $val\n"; 
} 
?> 

답변

1
// some test values 
$nursing = array("nursing", 5, "% ", ""); 
$footballer = array("footballer", 15, "% ",""); 
$dentist = array("dentist", 25, "% ", ""); 
$hairdresser = array("hairdresser", 0, "% ", ""); 
$IT = array("IT", 50, "% ", ""); 

$items = array($nursing, $footballer, $dentist, $hairdresser, $IT); 

foreach ($items as $item) { 
echo $item[1].'->'.$item[0].'<br>';; 
} 

출력 정렬되지 않은

5->nursing 
15->footballer 
25->dentist 
0->hairdresser 
50->IT 

종류 (처럼 보인다는 수도로 비교 기능은 어렵지 않습니다 쓰기 *)

http://php.net/manual/en/function.arsort.php 읽기 내림차순

function compare($a, $b) { 
    if ($a[1] == $b[1]) { 
     return 0; 
    } 
    return ($a[1] < $b[1]) ? -1 : 1; 
} 

usort($items, 'compare'); 

foreach ($items as $item) { 
    echo $item[1].'->'.$item[0].'<br>';; 
} 

출력이 제거 시도

0->hairdresser 
5->nursing 
15->footballer 
25->dentist 
50->IT 

http://www.php.net/manual/fr/function.usort.php

+0

에 나타나는와 기쁨이 없었 :/I는 뭔가 간단한 알고 있지만 위선적 인 말투로 내 머리를 얻을 수 –

+1

내 대답을 완료, 그것은 테스트 값과 함께 작동합니다. 그것에 대해 – RafH

+0

덕분에, 그 내 결과와 함께 작업하고 지금 내 출력 IT는 53-> 미용사 67-> 간호 77-> 치과 의사 어떻게이 치과 의사처럼되고 변경됩니다 >> 축구 50 ~ 32입니다 77 % 하이퍼 링크? foreach 루프에 –

0
$items = array("$nursing", "$footballer", "$dentist", "$hairdresser", "$IT"); 

공지 사항

$items = array($nursing, $footballer,$dentist, $hairdresser,$IT); 

문제가 해결되지 않으면, 당신이 당신의 자신의 compare 함수를 작성하고 두 번째로 사용 할 수도 있습니다 인수는 arsort 함수입니다. 자세한 내용은

는 인덱스 1에

+0

를 정렬 ""아무것도 변경되었습니다 :/아직도 지금이 시도 무작위 –