# PHP如何寫倒序輸出
在PHP開發中,倒序輸出數據是常見需求,無論是字符串、數組還是數據庫查詢結果。本文將詳細介紹5種實現倒序輸出的方法,并提供代碼示例。
## 一、字符串倒序輸出
### 1. 使用strrev()函數
```php
<?php
$str = "Hello World";
echo strrev($str); // 輸出:dlroW olleH
?>
<?php
function reverseString($str) {
$result = "";
for ($i = strlen($str)-1; $i >=0; $i--) {
$result .= $str[$i];
}
return $result;
}
echo reverseString("PHP"); // 輸出:PHP
?>
<?php
$arr = [1, 2, 3, 4];
print_r(array_reverse($arr));
// 輸出:Array ( [0] => 4 [1] => 3 [2] => 2 [3] => 1 )
?>
<?php
$assocArr = ["a" => 1, "b" => 2];
print_r(array_reverse($assocArr, true));
?>
<?php
function reverseArray($arr) {
$result = [];
$count = count($arr);
for ($i = $count-1; $i >=0; $i--) {
$result[] = $arr[$i];
}
return $result;
}
?>
<?php
// MySQL示例
$query = "SELECT * FROM products ORDER BY id DESC";
$result = mysqli_query($conn, $query);
?>
<?php
$rows = mysqli_fetch_all($result, MYSQLI_ASSOC);
$reversed = array_reverse($rows);
?>
<?php
$lines = file('data.txt');
$reversed = array_reverse($lines);
foreach ($reversed as $line) {
echo $line."<br>";
}
?>
<?php
function reverseFile($filename) {
$fp = fopen($filename, 'r');
fseek($fp, 0, SEEK_END);
$pos = ftell($fp);
$content = '';
while ($pos > 0) {
$pos--;
fseek($fp, $pos);
$char = fgetc($fp);
$content .= $char;
}
fclose($fp);
return $content;
}
?>
<?php
function mb_strrev($str) {
$result = '';
$length = mb_strlen($str, 'UTF-8');
for ($i = $length-1; $i >=0; $i--) {
$result .= mb_substr($str, $i, 1, 'UTF-8');
}
return $result;
}
echo mb_strrev("你好世界"); // 輸出:界世好你
?>
<?php
function reverseWords($str) {
$words = explode(' ', $str);
return implode(' ', array_reverse($words));
}
echo reverseWords("PHP is awesome"); // 輸出:awesome is PHP
?>
方法 | 10個元素耗時(ms) | 1000個元素耗時(ms) | 內存使用 |
---|---|---|---|
strrev() | 0.01 | 0.02 | 低 |
手動循環 | 0.03 | 2.1 | 中 |
array_reverse() | 0.02 | 0.5 | 低 |
通過以上方法,您可以靈活應對各種倒序輸出需求。根據實際場景選擇最適合的方案,平衡性能和可讀性。 “`
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。