【PHP】字符串去空格并将每个单词首字母转换成大写de多种解法

问题描述编写camel_case方法,实现将字符串去掉空格,并将每个单词的第一个字母转换成大写。例如:camel_case("hello case"); // => "HelloCase" camel_case("camel case word"); // => "CamelCaseWord"分析解决方案数组元素转换大写function camel_case(string $s): string {...
阅读(582) 评论(0)

【PHP】给两个字符串返回字符串按排序出两个字符串的字符de多种解法

问题描述给出两个字符串s1和s2,两个字符串仅包含a-z,返回一个排序后的字符串,包含这两个字符串的内容,每个字母只出现一次。举例:a = "xyaabbbccccdefww" b = "xxxxyyyyabklmopq" longest(a, b) -> "abcdefklmopqwxy" a = "abcdefghijklmnopqrstuvwxyz" longest(a, a) -> "a...
阅读(515) 评论(0)

【PHP】面试题整理PHP部分

PHP语句include和require都能把另一个文件包含到当前文件中,它们的区别是?为了多次包含同一文件,可以用什么语句替代它们?include引入不存在,会报warning require引入不存在,会报fatal error _once如果之前已经引用过,就不会重复引用,如果没有加_once,重复引用就会出现致命错误 include_once之前需要检查是否有引用,所以不如includ...
阅读(353) 评论(0)

【AMQP】macOS下的AMQP服务器以及PHP扩展搭建

环境说明 macOS版本, macOS Sierra 10.12.3 (16D32) PHP集成环境, XAMPP 7.0.15-0 Apache 2.4.25, MariaDB 10.1.21 PHP 7.0.15 前期准备修改本地path文件sudo vi /etc/paths在文件的最上面添加/Applications/XAMPP/xamppfiles/bin重启中端bogon:~ xi...
阅读(779) 评论(0)

【Yar】Yar异步调用的超时时间问题以及解决方案

问题由于具体业务功能需要,需要采用并行异步的方式调用方法。但是业务上要求每个被调用的方法的执行时间最多60秒,这就导致采用Yar的调用一直是timeout. Yar_Concurrent_Client::loop(): select timeout 5000ms reached 解决方案1.修改配置文件Yar扩展的配置项如下 yar.packager php yar.debug yar...
阅读(1429) 评论(0)

【Redis】Redis在实际项目中的应用

前言Redis作为内存型的数据库,比mysql的速度快很多,所以经常会被用作缓存等,下面列举一下我在实际项目中的的使用。Code缓存 string采用string的存储结构对字符串进行存储常用的命令为 //存储缓存 SET key "value" //获取数据 GET key//增加超时时间(TTL),30s后缓存失效 SET key "value" 30 如果 key 已经持有其他值, SET...
阅读(3108) 评论(0)

【PHP】Yii2中事务的使用以及代码实例

Yii2中事务的使用以及代码实例前言一般我们做业务逻辑,都不会仅仅关联一个数据表,所以,会面临事务问题。 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错...
阅读(4077) 评论(0)

【PHP】远程调用以及RPC框架

前言一个项目,从开始到版本更新,一直到最后的版本维护。功能在不断增多,对应的代码量也在不断增加,也就意味着项目变得更不可维护,这时候,我们需要用拆分的方式将一个项目打散,以便开发团队更好的对项目进行维护。分模块这个阶段,一般也是项目的初级阶段,由于人手不够,一个服务端的接口项目只有一个开发进行维护,根据开发的习惯,会把项目分成若干个模块进行开发,在一个项目下进行部署。这样做的缺点在于项目会随着版本更...
阅读(6378) 评论(0)

【PHP】函数explode和split的区别

前言之所以做这个,是因为这两个函数的作用很像,都是把字符串转换成数组。explode从下面的例子可以看出,生成的数组是有对应的顺序的。$pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; $pieces = explode(" ", $pizza); echo $pieces[0]; // piece1 echo $pieces[1]; //...
阅读(1070) 评论(0)

【CURL】模拟登录网站并获取用户信息

模拟登录网站并获取用户信息前言这次来做的是通过代码的方式,模拟登录秒拍官网,获取登录用户的信息。前后端分离本文的标题是CURL,传统的网站是PHP代码直接渲染项目视图,通过表单提交到控制器直接进行数据操作。传统模拟登录的方式在页面上找到表单元素,直接进行模拟表单提交。近两年前端技术趋于完善,实现了前后端分离。分析页面元素秒拍官网地址 http://www.miaopai.com/通过审查元素以及源代...
阅读(5644) 评论(2)

【OSX】OSX下采用MAMP的PHP替换系统自带PHP

OSX下采用MAMP的PHP替换系统自带PHP前言众所周知,OSX自带了PHP和Apache,显然这些不是我们需要的。 很多人都会安装集成环境作为自己的开发环境。比如我选择的是MAMP,PHP的版本是7.0.问题我在OSX的终端中,执行php -v,出现的是自带的PHP5.5yu@bogon ~ $ php -v PHP 5.5.31 (cli) (built: Feb 20 2016 20:3...
阅读(2649) 评论(1)

【PHP】PHP使用PHPExcel生成Excel表格文件(附带随机生成英文名函数)

【PHP】PHP使用PHPExcel生成Excel表格文件(附带随机生成英文名函数)前言由于业务需要,我们需要从业务中汇总数据,并生成Excel文件。 思路是这样的 PHP要导出Excel表格文件->找一个好用的第三方库吧->在Composer的Packages里找一个吧->PHPExcel这么多收藏,就它了!PHPExcel概述 PHPExcel is a library written...
阅读(3718) 评论(0)

【Yii2】Yii2执行完composer install 出现 vendor/bower/jquery/dist 找不到的解决方案

问题在我们的项目中,vender的部分不会放在文件仓库内,而是被忽略掉。 删除项目内的“vender“`文件夹 在项目根目录执行composer install 访问项目,出现报错 The file or directory to be published does not exist: D:\xampp\htdocs\basic\vendor\bower/jquery/dist...
阅读(6652) 评论(0)

[置顶] 【杂谈】PHP程序员的能力水平层次

PHP程序员的能力水平层次前言之前看过很多篇关于服务端工程师和PHP开发者的能力模型介绍,每篇都对能力有侧重点. 下面我们来详细谈谈以开发能力为基准点的PHP程序员的能力水平层次.层层递进1.功能开发这个水平的程序员一般是在校学生或者培训机构学习中的同学,这时对PHP基本语法不太熟悉,做东西都靠查资料. 对于功能实现,能用但是健壮性和扩展性都不行,也就是我们所提到的实验性项目的模块.推荐处于这个...
阅读(8093) 评论(7)

【算法】PHP实现经典算法(下)

前言前几天,我们通过PHP实现了不同的排序算法,并比较算法对应的耗时。 【算法】PHP实现经典算法(上)下面我们来实现下列算法 堆排序 鸡尾酒排序 直接选择排序 计数排序 CODE $arr = [];for ($i = 0; $i < 5000; $i++) { $arr[] = rand(1, 50000); }// 5 堆排序/** * 交换两个数的位置 * @param $a...
阅读(1358) 评论(1)

【PHP】定时计划没有执行PHP脚本以及解决方案

问题cron 定时触发任务,但是始终没有执行,并且在/var/log/cron里也没有对应的日志产生,并且也在php-fpm的日志文件下也没有错误日志产生。分析&&解决cron没有执行?并没有 : (service crond status crond (pid 5467) is running...文件没有执行权限?并没有 : (ls -al -rwxrwxrwx .........环境变量没...
阅读(832) 评论(0)

【算法】PHP实现经典算法(上)

前言下面的是通过PHP实现经典算法,并计算了耗时,可以通过耗时对比这几种算法的复杂度。 插入排序 冒泡排序 选择排序 并归排序 快速排序 CODE $arr = [];for ($i = 0; $i < 5000; $i++) { $arr[] = rand(1, 10000); } //1 插入排序 function insertionSort($arr) { for ($i = 1...
阅读(5025) 评论(1)

【PHP】Yii2团队基于接口(interface)开发方式最佳实践

前言貌似很多公司都转向了使用Yii2做项目开发~当团队开发人员过多的时候,对接口的定义就成了困难,再说,命名本来就是个玄学的东西。之前早就听说过面向接口开发,这几天就试了下,感觉还不错,分享出来,一起进步。最佳实践单独存放的文件夹我把接口文件放在项目中的custominterface中,再和相应控制器所在文件夹进行对应存放,保证项目的目录的存放合理interface namespace app\cu...
阅读(2561) 评论(6)

【PHP】PHP 7.0.4 发布

PHP 7.0.4PHP在官方发布了PHP的7.0.7版本,修复了部分BUG.使用PHP 7.0 版本的用户可以升级到这个版本。更新日志Version 7.0.403 Mar 2016Core: Fixed bug (Low probability segfault in zend_arena). Fixed bug #71441 (Typehinted Generator with return...
阅读(998) 评论(0)

【PHP】PHP7的异常处理详解

前言 PHP7的改动中,影响比较大的,包括异常处理。 概述 更多的异常是直接通过PHP直接处理的,和之前的PHP5不同的是更多的异常是通过Error exceptions来抛出。 作为一个普通的扩展,Error exceptions会持续冒出直到匹配到对应的catch块。如果没有进行匹配,就会触发被设置的set_exception_handler()来执行处理,如果没有默认的异常处理程序,...
阅读(2037) 评论(0)
55条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:410760次
    • 积分:6545
    • 等级:
    • 排名:第3810名
    • 原创:260篇
    • 转载:13篇
    • 译文:3篇
    • 评论:60条
    博客专栏
    个人网站
    微信订阅号
    欢迎加入QQ群
    玩家老黄历(微信小程序)
    最新评论