2011-01-14 7 views
1

私はこのコードのビットがあります結果をエコー表示するとき、どのように順序を入れ替えるのですか?

<?php 
$file = file_get_contents('http://example.com'); 
preg_match_all("/<a href=(.*?links.*?)>.*?<\/a>/i", $file, $a); 
$count = count($a[1]); 
for ($row = 0; $row < $count ; $row++) { 
$linkurls = $a[1]["$row"]; 
echo ' '.$linkurls.' <br>'; 
} 
?> 

を、現在それは、彼らがウェブサイト上で表示されるために、リンクをエコー表示。結果を逆順にエコーする(example.comの最後のリンクがこのコードで最初にエコーするようにしたい)

何か助けていただければ幸いです。ありがとう。

答えて

2
for ($row = $count - 1; $row > -1 ; $row--) { 
    $linkurls = $a[1]["$row"]; 
    echo ' '.$linkurls.' <br>'; 
} 
+0

!私は非常に感謝あなたに感謝! – cwal

+0

'$ row> = 0'の何が問題になっていますか? :) –

+0

@Alin本当に何もない、私は入力した最初のものだった - 両方とも同様に動作します。 –

2

PHPには、関数array_reverseがあります。

$a[1] = array_reverse($a[1]); 

また、なぜあなたは["$row"]の代わり[$row]を使うのでしょうか?数値の文字列がインデックスとして使用されているときに数字の文字列が数値に変換されるときには機能的な違いはありませんので、心配する必要はありません。

+0

IVEは、実際に動作するように見えるdoesntの$ aと$ linkurlsとのこととarsortとrsortを試してみました。イムが間違っていない限り。 – cwal

+0

@ user575594 '$ a 'ではなく、' $ a [1] 'を逆にしてみてください。 'array_reverse'だけを使い、ソート関数は使わないでください。また、あなたはまだいくつかの[PHPの基礎](http://www.php.net/manual/en/langref.php)の読解の恩恵を受けるだろうと私に思います。 –

1
<?php 
$file = file_get_contents('http://example.com'); 
preg_match_all("/<a href=(.*?links.*?)>.*?<\/a>/i", $file, $a); 
$a = array_reverse($a); 
$count = count($a[1]); 
for ($row = 0; $row < $count ; $row++) { 
$linkurls = $a[1]["$row"]; 
echo ' '.$linkurls.' <br>'; 
} 
?> 
+0

が試行されても、コードはまだ動作しますが、エコーは正確に同じ結果を返します – cwal

+0

'$ a [1] = array_reverse($ a [1]); ' –

関連する問題