php 将字数串打散为数组

今天在学习算法的过程中遇到了一道试题 :找出无重复字符串的长度。

在使用php解答的过程中需要将字符串的每个字符存入数组当中,因为很多小的函数长时间未使用所以有些遗忘,一番寻找之后找到了这个函数。

str_split — 将字符串转换为数组

说明

str_split ( string $string [, int $split_length = 1 ] ) : array

将一个字符串转换为数组。

参数

string

输入字符串。

split_length

每一段的长度。

返回值

如果指定了可选的 split_length 参数,返回数组中的每个元素均为一个长度为 split_length 的字符块,否则每个字符块为单个字符。

如果 split_length 小于 1,返回 FALSE。如果 split_length 参数超过了 string 超过了字符串 string 的长度,整个字符串将作为数组仅有的一个元素返回。

通过这个函数就可以将我们的字符串存入到数组中了。

& 和 && 的区别

& 符 大家经常使用,不过有些基础不牢的同学能会误用它。

一个&表示位运算,如果有运算 $a&$b,那么首先会将两个变量转换为2进制数,然后进行位于算。两个&&表示逻辑运算,首先判断&&左边是否为真,如果未假则不进行右边的运算,所以当我们进行 if判断是推荐大家使用&&。

BIGINT UNSIGNED value is out of range 报错解决

今天在进行数据分析时,遇到了一个小坑,当两个字段相减运算时,如果其中一个或两个字段的类型的unsigned无符号类型,且结果值小于0测绘出现下列报错。

BIGINT UNSIGNED value is out of range in ‘(`refund`.`ctime` – `refund`.`atime`)

解决方案和思路如下:

一、修改字段类型

二、使用cast函数转字段为signed类型

select cast(字段1 as signed) – cast(字段2 as signed)

问题解决。

mysql 无法远程连接与访问 问题解答

这几天在业余时间研究了一个新的web后台框架”fastadmin”,线下使用时没有太多问题,在线上部署调试时发生了数据库连接超时的问题。通过百度、谷歌和排查之后,终于将问题解决。在此过程中我做了如下操作。

1.基于mysql配置层面:

继续阅读mysql 无法远程连接与访问 问题解答

30分钟了解正则

转自 作者:deerchao

本文目标

30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。

如何使用本教程

最重要的是——请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30内入门——除非你是超人 🙂

继续阅读30分钟了解正则

关于Virtual Box虚拟机里的系统不能启动的解决方法

当我们的虚拟机在非正常关闭后,再次启动机器时,Virtual Box会出现 Runtime error opening ‘C:\Users\admin\VirtualBox VMs\Windows Server\Windows Server.vbox for reading: -102 (File not found.).提示。

虚拟电脑非正常关闭,造成一些日志无法记录,有可能在下次启动虚拟机的时候无法使用里面的系统,一般会提示找不到一个文件,并告诉你这个文件的路径。你顺着这个路径找下去例如我的就是“’C:\Users\admin\VirtualBox VMs\Windows Server\”这个文件夹下有个Windows Server.vbox-tmp,而虚拟机提示的是缺少Windows Server.vbox这个文件,那么F2重命名把-tmp删掉就行了,重命名后这个文件会显示一个方块的图标。

最后去启动虚拟机里的系统就行了!!!

php爬虫

顺利进入了新公司实习,被安排了一个网页爬虫的任务,从迷茫到成熟,让我收获了很多。因为工作太忙,导致博客延缓了更新,现在就跟大家分享一下最近的收获。

准备工作

1.PHP爬虫采用的是curl拓展,所以首先要确保你的PHP已经安装了curl拓展。查看是否已开启拓展可以

查看phpinfo页面找到curl拓展,查看是否开启。

如果没有开启,使用sudo apt-get install php5-curl 命令进行安装

工作原理

爬虫是指将目标网页保存到指定位置或变量中,使用正则表达式对其进行解析,以得到我们想要的数据。

将解析后的数据存入变量中并输出,完成爬虫。

函数说明

public function crawler_run()                       //爬取网页信息 参数为:返回网页内容存入变量

public function analysis($result)                 //分析爬取数据 参数为:网页内容

if (preg_match(“/正则表达式/”, $str, $matches))   PHP正则表达式使用函数  $str=’匹配字符’,$matches=’结果数组’。

 

public function crawler_run()    {

$url =”www.baidu.com”;//这里的URL可以随意换成你想要爬取的网站地址
$ch = curl_init($url);//curl初始化
curl_setopt($ch, CURLOPT_USERAGENT, “Mozilla/5.0 (compatible; MSIE 7.0; Windows NT 6.0)”);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($conn[$i],CURLOPT_COOKIE,$cookies);//如果需要登录则加入cookie
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);//设置连接的等待时间
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//禁止调用时就输出获取到的数据
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//// 跳过证书检查 (用来连接https类型的网页)
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//从证书中检查SSL加密算法是否存在(来连接https类型的网页)
$result = curl_exec($ch);//返回的结果就是爬取的网页,你可以把它保存到本地或者直接打印输出,或者用于后续的分析。

svn问题处理

SVN是常用的版本控制软件,一切弄好后,我把网页里的链接直接复制到svn 的url位置,在配置的过程中出现了无法连接的小问题:结果就一直报下面的错误。

svn: E175002: PROPFIND of ‘/’: 405 Method Not Allowed

尝试许久,发现是链接不正确,正确的写法是: https://ip地址/svn/资源库名