PHP
文章平均质量分 51
November's chopin
这个作者很懒,什么都没留下…
展开
-
【redis】redis 锁
本文围绕 redis 的SETNX命令展开对“锁”的研究与实现。多个进程同时对 redis 执行命令,只有一个进程会成功,其余都会失败。上述命令中的代表被当作锁的 redis 键名,其类型为 String,代表该键的过期时间戳,下同。原创 2022-12-02 18:09:47 · 3679 阅读 · 0 评论 -
【PHP】foreach 一个对象的私有属性
软件环境 php 7.1.33 + windows 10 操作系统 代码示例 <?php class MyIterator implements Iterator { private $_myArr = [ 'a' => 1024, 128, 'c' => 8421, 256 ]; /** * 当前元素的值 * * @return mixed */转载 2020-06-11 10:56:02 · 248 阅读 · 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 · 405 阅读 · 0 评论 -
【PHP】与命令行的交互
示例代码 <?php echo "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 · 438 阅读 · 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 · 1006 阅读 · 0 评论 -
【PHP】composer 安装 Yii 2 高级项目模板
环境介绍 windows 10 操作系统 php 7.2.10 (≥ 5.4.0 即可) nginx 1.11.5 mysql 5.5.53 本文安装操作是在 G 盘根目录下进行 安装步骤 安装 composer 后执行以下命令安装应用程序:G:\> composer create-project --prefer-dist yiisoft/yii2-app-advanced yi...原创 2019-06-27 13:31:57 · 298 阅读 · 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 · 4381 阅读 · 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 · 1219 阅读 · 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.php Array ( ...原创 2018-12-07 14:11:07 · 258 阅读 · 0 评论 -
【PHP】数组键值处理方式性能比较
实现功能:数组值做 +1 操作(测试案例中数组长度为1000w) php版本:5.6.32 处理方式有: foreach 加引用做循环+1 for 循环+1 foreach 普通循环+1 array_walk +1 array_map +1 代码: <?php ini_set('memory_limit', '2048M'); $j = 10000000; // for...原创 2018-02-27 22:49:59 · 729 阅读 · 0 评论 -
【PHP】数组赋值方式性能比较
实现功能:给长度为 1000w 的数组赋值(键值为数字索引值 +1) php版本:5.6.32 赋值方式: arr[ ] array_push( ) 代码: <?php ini_set('memory_limit', '2048M'); $j = 10000000; $arr = []; $t = microtime(true); for ($i = 1; $i <...原创 2018-03-06 22:58:12 · 2520 阅读 · 2 评论 -
【PHP】判断数组元素是否存在性能比较
实现功能:判断长度为 1000w 的数组中是否存在 1-1000w 的元素标识 php版本:7.2.1 判断方式: isset( ) array_key_exists( ) in_array( ) 代码: <?php ini_set('memory_limit', '2048M'); $j = 10000000; $arr_key = $arr_value = [...原创 2018-03-08 00:07:34 · 528 阅读 · 0 评论 -
【PHP】接口类的实现探究
如果一个类 implements 了一个接口类,在自身的方法中必须实现该接口类中的方法吗? php版本:5.6.32 测试代码如下: <?php interface SayHelloInterface { public function say(); } class ObjectBase implements SayHelloInterface { } class Hel...原创 2018-04-03 22:20:58 · 172 阅读 · 0 评论