PHP
文章平均质量分 51
November's chopin
这个作者很懒,什么都没留下…
展开
-
【redis】redis 锁
本文围绕 redis 的SETNX命令展开对“锁”的研究与实现。多个进程同时对 redis 执行命令,只有一个进程会成功,其余都会失败。上述命令中的代表被当作锁的 redis 键名,其类型为 String,代表该键的过期时间戳,下同。原创 2022-12-02 18:09:47 · 3480 阅读 · 0 评论 -
【PHP】foreach 一个对象的私有属性
软件环境php 7.1.33 + windows 10 操作系统代码示例<?phpclass MyIterator implements Iterator{ private $_myArr = [ 'a' => 1024, 128, 'c' => 8421, 256 ]; /** * 当前元素的值 * * @return mixed */转载 2020-06-11 10:56:02 · 219 阅读 · 0 评论 -
【PHP】php 源码之宏 PHP_FUNCTION
本文所用 php 源码版本为 7.1.33在 php 源码目录下的 main/php.h 头文件中定义了宏 PHP_FUNCTION,我们经常使用的 php 函数就是她来定义的,从上图中可以看到该宏定义为 ZEND_FUNCTION,而 ZEND_FUNCTION 定义在 Zend/zend_api.h 头文件中,在 C 语言宏定义中的 ## 代表连接在其左右的字符串。由上图中...原创 2020-04-20 15:08:17 · 381 阅读 · 0 评论 -
【PHP】与命令行的交互
示例代码<?phpecho "please enter your text and give only a 'q' when you want to quit\n";while (($answer = getEnter()) != 'q') { echo "your enter is '{$answer}'\n\n";}echo 'by by';exit(0);fun...原创 2019-08-29 13:38:53 · 407 阅读 · 0 评论 -
【PHP】php7 配置 xdebug 进行调试
php7.1、php7.4 配置 xdebug 调试windows 10 操作系统phpstudy(php-7.2.10-nts + Nginx)配置步骤phpinfo() 查看下图中的版本信息,到 https://xdebug.org/download.php 下载对应版本的 xdebug 扩展。拷贝步骤 1 中下载的 xdebug 扩展到 php 扩展目录(在本例中是 D:\phpStudy\PHPTutorial\p...原创 2019-07-15 14:13:52 · 922 阅读 · 0 评论 -
【PHP】composer 安装 Yii 2 高级项目模板
环境介绍windows 10 操作系统php 7.2.10 (≥ 5.4.0 即可)nginx 1.11.5mysql 5.5.53本文安装操作是在 G 盘根目录下进行安装步骤安装 composer 后执行以下命令安装应用程序:G:\> composer create-project --prefer-dist yiisoft/yii2-app-advanced yi...原创 2019-06-27 13:31:57 · 271 阅读 · 0 评论 -
【elasticsearch】批量更新数据
软件版本: php 5.6.31, elasticsearch 6.1.1代码:function actionArticle(){ $open_sites = Yii::$app-&amp;amp;gt;getDb()-&amp;amp;gt;createCommand( &amp;quot;select indicator from {{%site}} where status = 1 order by id as..原创 2019-02-25 11:08:03 · 4224 阅读 · 0 评论 -
【微服务】用 PHP “打开” gRPC
软件环境VirtualBox 下的 CentOS 7 操作系统,版本截图如下: 指导文档https://grpc.io/docs/quickstart/php.html“打开 gRPC”的步骤安装gRPC① 到 https://github.com/grpc/grpc 下载 gRPC repository,有条件的使用 git 下载 ② 下载完成后进入 grpc 目...原创 2019-06-12 17:06:37 · 1184 阅读 · 0 评论 -
【PHP】关键字 static 的应用
软件环境php 版本: 5.6.31操作系统:win7 x64案例代码定义静态变量$arr = [8, 4, 2, 1];foreach ($arr as $value) { static $res = []; $res[] = $value;}print_r($res);运行结果:E:\www\test>php static.phpArray(...原创 2018-12-07 14:11:07 · 231 阅读 · 0 评论 -
【PHP】数组键值处理方式性能比较
实现功能:数组值做 +1 操作(测试案例中数组长度为1000w)php版本:5.6.32处理方式有:foreach 加引用做循环+1 for 循环+1 foreach 普通循环+1 array_walk +1 array_map +1代码:<?phpini_set('memory_limit', '2048M');$j = 10000000;// for...原创 2018-02-27 22:49:59 · 699 阅读 · 0 评论 -
【PHP】数组赋值方式性能比较
实现功能:给长度为 1000w 的数组赋值(键值为数字索引值 +1)php版本:5.6.32赋值方式:arr[ ] array_push( )代码:<?phpini_set('memory_limit', '2048M');$j = 10000000;$arr = [];$t = microtime(true);for ($i = 1; $i <...原创 2018-03-06 22:58:12 · 2483 阅读 · 2 评论 -
【PHP】判断数组元素是否存在性能比较
实现功能:判断长度为 1000w 的数组中是否存在 1-1000w 的元素标识php版本:7.2.1判断方式:isset( ) array_key_exists( ) in_array( )代码:<?phpini_set('memory_limit', '2048M');$j = 10000000;$arr_key = $arr_value = [...原创 2018-03-08 00:07:34 · 493 阅读 · 0 评论 -
【PHP】接口类的实现探究
如果一个类 implements 了一个接口类,在自身的方法中必须实现该接口类中的方法吗?php版本:5.6.32测试代码如下:<?phpinterface SayHelloInterface{ public function say();}class ObjectBase implements SayHelloInterface{}class Hel...原创 2018-04-03 22:20:58 · 148 阅读 · 0 评论