本文目录导读:

我来为你提供几个不同版本的PHP圣诞树代码,从简单到进阶:
基础控制台版本
<?php
// 基础圣诞树 - 控制台输出
function drawChristmasTree($height = 10) {
// 树冠部分
for ($i = 1; $i <= $height; $i++) {
echo str_repeat(' ', $height - $i);
echo str_repeat('*', 2 * $i - 1);
echo "\n";
}
// 树干部分
for ($i = 0; $i < 2; $i++) {
echo str_repeat(' ', $height - 2);
echo "***\n";
}
}
echo "🎄 圣诞快乐!🎄\n\n";
drawChristmasTree(10);
?>
彩色HTML版本
<?php
// 彩色HTML圣诞树
function drawHTMLTree($height = 12) {
$html = '<div style="text-align:center; font-family:monospace;">';
// 树顶星星
$html .= '<div style="color:gold; font-size:24px;">★</div>';
// 树冠
for ($i = 1; $i <= $height; $i++) {
$leaf = str_repeat('*', 2 * $i - 1);
$spaces = str_repeat(' ', $height - $i + 1);
// 随机装饰颜色
$colored_parts = '';
for ($j = 0; $j < strlen($leaf); $j++) {
$colors = ['green', '#228B22', '#006400', '#32CD32', '#90EE90'];
$decorations = ['red', 'gold', 'blue', 'purple', 'silver'];
// 随机添加装饰球
if (rand(1, 10) > 8) {
$color = $decorations[array_rand($decorations)];
$colored_parts .= "<span style='color:$color;'>●</span>";
} else {
$color = $colors[array_rand($colors)];
$colored_parts .= "<span style='color:$color;'>*</span>";
}
}
$html .= "<div style='font-size:20px;'>$spaces$colored_parts</div>";
}
// 树干
for ($i = 0; $i < 3; $i++) {
$trunk = str_repeat('|', 3);
$spaces = str_repeat(' ', $height - 1);
$html .= "<div style='color:brown; font-size:20px;'>$spaces$trunk</div>";
}
// 礼物
$html .= '<div style="color:red; font-size:30px; margin-top:10px;">🎁</div>';
$html .= '</div>';
return $html;
}
echo drawHTMLTree(8);
?>
动画效果版本
<?php
// 闪烁动画圣诞树
function drawAnimTree($height = 10) {
?>
<style>
@keyframes twinkle {
0% { opacity: 1; }
50% { opacity: 0.3; }
100% { opacity: 1; }
}
.tree-line {
font-family: 'Courier New', monospace;
font-size: 18px;
line-height: 1.4;
}
.star {
color: gold;
animation: twinkle 1s infinite;
font-size: 30px;
}
.light-red { color: #ff0000; animation: twinkle 0.7s infinite; }
.light-gold { color: #ffd700; animation: twinkle 1.2s infinite; }
.light-blue { color: #0000ff; animation: twinkle 0.9s infinite; }
</style>
<div style="text-align:center; background: #0a0a2e; padding: 20px; border-radius: 10px;">
<div class="star">✦ ✦ ✦</div>
<?php
for ($i = 1; $i <= $height; $i++) {
$spaces = str_repeat(' ', $height - $i + 3);
echo "<div class='tree-line'>$spaces";
for ($j = 0; $j < 2 * $i - 1; $j++) {
if (rand(1, 10) > 7) {
$lights = ['light-red', 'light-gold', 'light-blue'];
$class = $lights[array_rand($lights)];
echo "<span class='$class'>●</span>";
} else {
echo "<span style='color: darkgreen;'>*</span>";
}
}
echo "</div>";
}
// 树干
for ($i = 0; $i < 2; $i++) {
echo "<div class='tree-line'>";
echo str_repeat(' ', $height + 2);
echo "<span style='color: #8B4513;'>|||</span>";
echo "</div>";
}
echo "</div>";
}
drawAnimTree(10);
?>
函数封装版本(功能完整)
<?php
class ChristmasTree {
private $height;
private $colors = [
'green' => ['#006400', '#228B22', '#32CD32'],
'decorations' => ['#FF0000', '#FFD700', '#0000FF', '#FF69B4', '#FFA500']
];
public function __construct($height = 10) {
$this->height = $height;
}
// 生成星形
private function drawStar() {
echo "<div style='text-align:center; color:gold; font-size:24px;'>";
echo "★";
echo "</div>";
}
// 生成树枝
private function drawBranch($row) {
$spaces = str_repeat(' ', $this->height - $row + 2);
echo "<div style='text-align:center; font-family:monospace; font-size:16px;'>";
echo $spaces;
for ($i = 0; $i < 2 * $row - 1; $i++) {
if (rand(1, 8) > 6) {
$color = $this->colors['decorations'][array_rand($this->colors['decorations'])];
echo "<span style='color:$color;'>●</span>";
} else {
$color = $this->colors['green'][array_rand($this->colors['green'])];
echo "<span style='color:$color;'>▲</span>";
}
}
echo "</div>";
}
// 生成树干
private function drawTrunk() {
for ($i = 0; $i < 3; $i++) {
echo "<div style='text-align:center;'>";
echo str_repeat(' ', $this->height);
echo "<span style='color:#8B4513; font-size:16px;'>|||</span>";
echo "</div>";
}
}
// 生成完整的树
public function render() {
$html = "<div style='background: linear-gradient(to bottom, #001133, #000022); padding: 20px; border-radius: 10px;'>";
echo $html;
$this->drawStar();
for ($i = 1; $i <= $this->height; $i++) {
$this->drawBranch($i);
}
$this->drawTrunk();
echo "</div>";
}
}
// 使用示例
$tree = new ChristmasTree(8);
$tree->render();
?>
简洁实用版本
<?php
function xmas_tree($rows = 8) {
echo "<pre style='text-align:center; color:green;'>";
// 树顶
echo "<span style='color:gold;'>★</span>\n";
// 树冠
for ($i = 0; $i < $rows; $i++) {
$spaces = str_repeat(' ', $rows - $i);
$stars = str_repeat('*', (2 * $i) + 1);
// 添加装饰灯(随机位置)
$chars = str_split($stars);
foreach ($chars as $key => $char) {
if ($key % 2 == 0 && rand(1, 5) == 3) {
$colors = ['red', 'gold', 'blue'];
echo "<span style='color: {$colors[array_rand($colors)]};'>o</span>";
} else {
echo $char;
}
}
echo "\n";
}
// 树干
for ($i = 0; $i < 2; $i++) {
echo str_repeat(' ', $rows - 1);
echo "***\n";
}
echo "</pre>";
echo "<p style='text-align:center; color:red; font-size:20px;'>Merry Christmas! 🎄</p>";
}
xmas_tree(10);
?>
使用建议:
- 终端环境:使用版本1或版本5
- 网页展示:使用版本2、3或4
- 需要动画效果:使用版本3
- 面向对象编程:使用版本4
这些代码都带有装饰效果,可以根据需要调整树的高度和装饰风格,祝编码愉快!🎄✨
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播