Fibonacci sequence

今天做了一道很初级的算法题,就是算Fibonacci sequence(斐波那契数列)。其实就是一个递归算法。
通常情况下这个数列的公式为:

F(0)=1,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)

这里我先将题目粘贴出来:

Read More

php 遍历数组

由于工作中遇到一个事情,我只知道传过来的是个数组,但具体数组的具体结构不知道。而且需要将数组中的某些字段的内容进行替换。
有两种方法:
第一种:

将数组转换为json数据然后通过php的str_replace()方法替换掉需要更换的内容。

第二种:

由于上一种方法会将所有匹配到的都给替换掉,但我有些值中的内容虽然符合替换规则但是并不需要替换。
这里我使用了第二种方法遍历数组。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public function get_data($data)
{
$res = array();
foreach($data as $key => $value)
{
if(is_array($value))
{
$res[$key] = $this->get_data($value);
continue;
}else{
//这里去匹配代码就不写了
}
$res[$key]= $value;
}
return $res;
}

mysql特殊字符

我在使用mysql模糊查询的时候,当我的查询条件中出现了下划线那么我的查询结果就不是我想要的。后来发现下划线 是特殊mysql的字符需要转义,不然它会将下划线当作一个通配符来使用。
下面列举一些Mysql的特殊字符

Read More

php exec()的用法

php执行系统命令的方法有:

  1. system() 输出并返回最后一行shell结果
  2. exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面
  3. passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上

    Read More

GitHub 入门与实践

GitHub 提供的主要功能

Git仓库

我们可以建立任意个git仓库,但需要建立只对特定人物或只对自己公开的私有仓库需要支付费用

https://github.com/plans

Organization

通常来说,个人使用使用个人账户就足够了,但对公司来说建议使用Organization账户。优点在于可以统一管理账户和权限,还能统一支付费用。
如果只使用公开仓库,也可以使用Organization账户。

Issue

Issue功能是将一个任务或问题分配给一个Issue进行追踪和管理。
在github上,每当进行Pull Request都会同时创建一个Issue。
每一个功能更改或修正都对应一个Issue,讨论或修正都以Issue为中心进行。
只要查看Issue,就能知道和这个更改相关的一切信息,并以此进行管理。
在Git的提交信息中写上Issue的ID,GitHub就会自动生成从Issue到对应的链接。
只要按照特定的格式描述提交信息,还可以关闭Issue。

Wiki

Wiki功能可以让任何人都能随时对一篇文章进行更改并保存。
该功能常用于开发文档或手册的编写。
支持克隆到本地编写
更改的历史记录也会被保留

Pull Request

开发者向GitHub仓库推送更改或功能添加后,可以通过Pull Request功能向别人的仓库提交申请,请求对方合并
Pull Request 送出后,目标仓库的管理者能够查看Pull Request的内容及其包含的代码更改。
GitHub还提供对Pull Request和源代码前后差别进行讨论的功能。

Git的导入

Read More

Modern PHP 学习笔记 二

标准

PSR是什么

PSR是PHP Standards Recommendation(PHP推荐标准)简称。

PSR-1:基本的代码风格

PHP标签

必须把PHP代码放在<?php ?>或<?= ?>标签中。不得使用其他PHP标签语法

编码

所有PHP文件必须使用UTF-8字符集编码,而且不能有字节顺序标记(Byte Order Mark BOM)

Read More