站点动态:欢迎您!今天是 2025-02-23 星期日!

对于刚学PHP的新手来讲,用php写九九乘法表无疑是非常经典的一道练习题,对于逻辑的考验还是相当到位的。
1、for循环
$colors = [
1 => '#FF0000', // 红色
2 => '#00FF00', // 绿色
3 => '#0000FF', // 蓝色
4 => '#FFFF00', // 黄色
5 => '#FF00FF', // 紫色
6 => '#00FFFF', // 青色
7 => '#C0C0C0', // 银灰色
8 => '#800080', // 紫色
9 => '#FFA500' // 橙色
];
echo '<table style="border:0;font-size:16pt;font-weight:bold;">';
for($i=1;$i<=9;$i++){
echo '<tr>';
for ($j=1;$j<=$i;$j++){
echo '<td style="background-color: ' . $colors[$j] . '; padding:5px 10px;">'.$j.' x '.$i.'='.$i*$j.'</td>';
}
echo '</tr>';
}
echo '</table>';
2、while循环
PHP程序中一个类的对象实例在整个程序运行过程中只需创建一个,则可以将这个类设计为单例类,可以避免多次创建带来系统的额外消耗。
PHP单例模式实例1:基础单例
通过类的静态成员属性来实现的。在单例类的内部实现只生成一个实例,同时它提供一个静态的getInstance()工厂方法,让户可以使用它的唯一实例;为了防止在外部对其实例化,将其构造函数设计为私有;在单例类内部定义了一个Singleton类型的静态对象,作为外部共享的唯一实例。
PHP二维数组中有多个元素,其中有重复的元素,需要获取不重复元素和重复元素。
一、判断一维数组是否有重复值
使用array_unique($array)函数去除重复元素(保留第一个重复元素的键和键值),判断去重前后数组元素数量是否想等。
if (count($array) != count(array_unique($array))) {
echo '该数组有重复值';
}
二、获取一维数组重复元素
1、使用scandir函数封装递归函数
php自带函数,返回当前目录下的所有文件和文件夹。注意:会有.和..分别表示当前目录和上层目录。
function file_list($path){
$func = __FUNCTION__;
if(!file_exists($path)) {
return [];
}
$files = scandir($path);
$fileItem = [];
foreach($files as $v) {
$newPath = $path .DIRECTORY_SEPARATOR . $v;
if(is_dir($newPath) && $v != '.' && $v != '..') {
$fileItem = array_merge($fileItem, $func($newPath));
}else if(is_file($newPath)){
$fileItem[] = $newPath;
}
}
return $fileItem;
}
2、使用glob函数封装递归函数
php自带函数,功能和scandir类似,但比它更加强大灵活。
Base64编码后会生成+,/,=这些特殊符号进行URL传输时+/会转义,导致数据不一致无法解码。
一、URL安全的字符串编码
function base64_safeurl_encode($string) {
return str_replace(array('+','/','='),array('-','_',''),base64_encode($string));
}
二、URL安全的字符串解码

问题描述
Windows10电脑更换了蓝牙模块后重装完系统,以前连接的蓝牙设备显示已连接,但是无法使用,删除蓝牙设备失败,会显示正在删除,过一会提示删除失败,导致连接过的蓝牙设备无法再连接。
解决方法
1、打开设备管理器 -> 查看,勾选 显示隐藏的设备。

Windows10没有了像Windows7一样右键菜单在此处打开命令提示符,即使按住Shift右键菜单也只有在此处打开Powershell窗口,有时候还是CMD命令提示符方便。
以下方法可以添加右键菜单在此处打开命令提示符
1、打开注册表
使用快捷键Windows键+R键打开运行对话框,输入regedit,回车打开注册表。
MySQL数据库查询中,有时候需要截取字段或字符串的一部分,本文将介绍MySQL常用的字段截取和字符串截取方法。
1、LEFT函数
LEFT()函数返回str字符串中最左边的长度字符;如果str或length参数为NULL,则返回NULL值;如果length为0或为负,则LEFT函数返回一个空字符串。如果length大于str字符串的长度,则LEFT函数返回整个str字符串。
本文介绍Windows常用的CMD命令。
1、Tree命令以图形显示驱动器或路径的文件夹结构
TREE [drive:][path] [/F] [/A]
- /F 显示每个文件夹中文件的名称
- /A 使用ASCII字符,而不使用拓展字符
在cmd内输入(help tree 或 tree /?)查看
2、Dir命令显示目录中的文件和子目录列表

RouterOS ADSL拨号的一些脚本。
1、ADSL定时重播
Winbox中,system -> Scheduler ,创建一个新脚本,Name:adsl-redial,Start Date和Start Time默认就可,Interval改为 1d 00:00:00,On Event输入以下代码。pppoe-out1代表是ADSL拨号连接。