约瑟夫环

是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。

要求输入:n,k,m

输出:退出顺序

<?php[......]

Read more

Continue Reading

使用 PHP 实现冒泡排序,将数组 $a=array() 安装从小到大的方式进行排序

在要排序的一数组中,对当前还未排序好的范围内的全部数,自前向后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的数往上冒。

即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将他们互换。

<?php
$arr = [1,43,6,7,3,5,78];
functio[......]

Read more

Continue Reading

使用 PHP 秒速快速排序算法

基本思想:选择一个基准元素,通常选择第一个元素,通过一趟扫描,将待排序列分为两个部分,一部分比基准元素小(做数组),一部分大于等于基准元素组(右数组),此时基准元素在其排好序后的正确位置,然后再用同样的方法递归地排序划分的两部分。

可以看到,这种方法是把大问题转变为小问题的方法,使用递归实现。[……]

Read more

Continue Reading

优化 MySQL 数据库的方法

1. 选取最实用的字段属性,尽可能减少定义字段长度,尽量把字段设置NOT NULL,例如“省份,性别”,最好设置为ENUM

2. 使用连接(JOIN)来代替子查询

3. 使用联合(UNION)来代替手动创建临时表

4. 事务处理

5. 锁表,优化事务处理

6. 使用外键,优化锁定表

7. 建立索引

8. 优化查询[……]

Read more

Continue Reading

PHP值传递和引用传递的区别

值传递是将变量的值复制一份,改变一个变量的值而不影响另一个变量的值。

引用传递是将变量的引用关系复制一份,改变一个变量的值另一个变量的值也会随之改变。

值传递:

形式:

$v1 = 1;
$v2 = $v1;

含义:将变量$v1的值复制一份,然后赋值给$v2,$v1和$v2具有两相同的值[……]

Read more

Continue Reading

PHP判断上传文件是否为图片且保存为唯一命名

<?php
header("content-type:text/html;charset=utf-8");
$arr_ext = array("jpg","png","gif");
$index = strrpos($_FILES['upload']['name'],".");
$ext = substr($_FILES['upload']['name'],$index+1);
if(!in_array($ext,$arr_ext))
{
 echo "上传的文件不是图像";
 exit();
}else
{
 $src = $_FILES['upload']['tmp_name'];
 $dst = "./upload/".uniqid().".$ext";
 move_uploaded_file($src,$dst);
 echo "上传文件成功";
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>判断上传文件是否为图片,为保存为唯一命名</title>
</head>
<body>
 <form name="form1" method="post" enctype="multipart/form-data" action="upload2.php">
 上传图片:<input type="file" name="upload">
 <input type="submit" value="提交表单">
 </form>
</body>
</html>

 

Continue Reading

PHP上传单个文件并保存至服务器

<?php
header("content-type:text/html;charset=utf-8");
if($_FILES['upload']['error']!=0)
{
 echo "上传文件发生错误";
 exit();
}
if($_FILES['upload']['size']>2*1024*1024)
{
 echo "上传文件大小超出要求";
 exit();
}
$src = $_FILES['upload']['tmp_name'];
$dst = "./upload/".$_FILES['upload']['name'];
if(!move_uploaded_file($src,$dst))
{
 echo "上传文件移动保存失败";
 exit();
}
echo "上传文件成功";
?>

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>文件上传</title>
</head>
<body>
 <form name="form1" method="post" enctype="multipart/form-data" action="upload.php">
 上传图片:<input type="file" name="upload">
 <input type="submit" value="提交表单">
 </form>
</body>
</html>

Continue Reading
Close Menu