
PHP
文章平均质量分 73
hupc
这个作者很懒,什么都没留下…
展开
-
PHP输出A到Z及相关
先看以下一段PHP的代码,想下输出结果是什么。<?phpfor($i='A'; $i<='Z'; $i++){ echo $i . '<br>';}?> 输出的不是 A B C ... Z 而是: A B C ... Z AA AB ... AZ ... YZ 可能预想的结果不太一样,为什么会有这样的结果的。这个问题可以...转载 2021-03-04 16:30:14 · 751 阅读 · 1 评论 -
mac下启动laradock失败--Service ‘workspace‘ failed to build
今天在本地安装laradock时,启动一直失败,用docker-compose up -d redis mysql nginx workspace启动时一直报错。Service 'workspace' failed to build网上找了一圈,大部分都是说是国内镜像不对,基本都是下面的这些方法。https://github.com/laradock/laradock/issues/347按着这些都改过之后,还是一直不行,感觉我遇到的问题不是国内镜像下载问题。然后又仔细看了一眼报错信..原创 2020-12-31 01:50:53 · 2846 阅读 · 1 评论 -
两千行PHP学习笔记
//语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出。/* 【命名规则】 */常量名 类常量建议全大写,单词间用下划线分隔 // MIN_WIDTH变量名建议用下划线方式分隔 // $var_name函数名建议用驼峰命名法 // varName定界符建议全大写 // <<<DING, <<<'DING'文件名建议全小写和下划线、.转载 2020-12-19 16:02:52 · 345 阅读 · 2 评论 -
作为一名PHPer,你了解PHP-FPM吗?
PHP-FPM(PHP FastCGIProcess Manager)FPM(FastCGI 进程管理器)用于替换 PHP FastCGI 的大部分附加功能,对于高负载网站是非常有用的。PHP-FPM的主要功能: 支持平滑停止/启动的高级进程管理功能; 可以工作于不同的 uid/gid/chroot 环境下,并监听不同的端口和使用不同的 php.ini 配置文件(可取代 safe_mode 的设置); stdout 和 stderr 日志记录; ...转载 2020-12-18 10:42:53 · 176 阅读 · 0 评论 -
你对生成器了解多少?
最近在学习Python的时候了解到生成器(generator)的概念,觉得挺有趣的,顺便又学习了下PHP的生成器,这里就记录一下吧~生成器,其实可以理解为是数组,但是既然它叫生成器,那肯定是和数组是有区别的。具体区别是啥呢?我们知道,在我们声明一个数组的时候,程序会开辟一个内存来保存这个数组的数据,如果这个数组特别大,比如rang(1,1000000),这将会占用100M的内存空间,显然是不合适的。而且有时候我们可能只需要数组的前几个数据,并不一定要获取到所有的数据,这时候,生...转载 2020-12-18 10:40:06 · 142 阅读 · 0 评论 -
PHP实现AES加解密
PHP在7.1版本开始废弃了原来的mcrypt_decrypt()函数,改为了openssl_encrypt()和openssl_decrypt()函数。以下是官方的介绍openssl_encrypt(string$data,string$method,string$key[,int$options= 0[,string$iv= ""[,string&$tag= NULL[,string$aad= ""[,i...转载 2020-12-18 10:31:24 · 739 阅读 · 0 评论 -
在浏览器地址栏输入URL之后发生了什么?
在浏览器地址栏输入URL之后发生了什么?eg:www.baidu.comURL解析地址解析:首先判断你输入的是一个合法的 URL 还是一个待搜索的关键词,并且根据你输入的内容进行自动完成、字符编码等操作。 https:由于安全隐患,会使用 HSTS 强制客户端使用 HTTPS 访问页面。 其它操作:浏览器还会进行一些额外的操作,比如安全检查、访问限制(之前国产浏览器限制 996.icu)。解析域名(DNS解析)将输入域名解析成IP地址,具体步骤: 先查找浏览器缓存(即浏览器里的书签和历史记.原创 2020-12-17 11:35:19 · 324 阅读 · 0 评论 -
2020PHP最新面试题
1.PHP的官网是?A.php.comB.php.netC.php.orgD.php.cn2.php 关于类继承说法正确的是A.子类可以直接调用基类的所有方法B.子类可以重写基类的方法C.子类可以直接继承多个基类D.子类可以重写基类 protected 级别方法为 private 级别3.下面哪一个不是PHP内置的常量(不定项选择题)A.__FILE__B.__FUNCTION__C.__VERSION__D.__METHOD__4.PHP原创 2020-06-11 14:33:03 · 1080 阅读 · 0 评论 -
PHP json_encode返回空白 Malformed UTF-8 characters, possibly incorrectly encoded 中文乱码问题
在项目开发中遇到了 echo json_encode($res);返回结果空白可以用两个PHP自带的方法来检查错误json_last_error()(PHP 5 >= 5.3.0, PHP 7)json_last_error—返回最后发生的错误如官方所示,这个函数会返回当前json_encode的错误原因,返回的是数字,需要对应看下具体是哪个错误。JSON_ERROR_NONE 没有错误发生 JSON_ERROR_DEPTH 到达了最大堆栈深度...原创 2020-06-09 15:22:36 · 4286 阅读 · 0 评论 -
PHP里的&按位与操作
echo 1+2&3;这个结果会是什么呢~首先要知道&这个操作符,这个是按位与操作,是位运算符中的一种。我们来看2&3按位与需要将十进制转换为二进制,因为&按位与的概念就是:二进制数中两位都是1的时候才是1,其中有一个为0就是0所以首先将2和3转换为二进制就是 10和11 跟进按位与操作符的概念,结果应该是10也就是2,所以2&3的结果就是2.最终1+2&3的结果就是3.// 1:01// 2:10// 3:11// 4:.原创 2020-06-08 21:48:47 · 514 阅读 · 0 评论 -
PHP版四大排序算法-冒泡排序、插入排序、选择排序、快速排序
一、冒泡排序动画演示:代码实现:function bubbleSort($arr){ // 这里的循环边界去除了最后一个,因为下面会比较$j和$j+1下标的数值,所以循环边界知道maxIndex-1就可以 for($i=0;$i<count($arr)-1;$i++){ // 内层的循环也是maxIndex-1,然后再减去上一层循环的层数,即上一层循环一次就会将当前获取的最大数值放到最后,所以减去上层循环层数就是减去最右侧已经确定的前几大的数值原创 2020-06-08 00:25:50 · 253 阅读 · 0 评论 -
MAC上配置visual studio code PHP debugger
首先,检查电脑上PHP版本是否有xdebug扩展。XdebugCheck将phpinfo()的信息复制到这个网页,会自动分析你的PHP信息,并给出安装建议~原创 2020-06-07 11:48:27 · 485 阅读 · 0 评论 -
用PHP写一个方法获取文件的扩展名
方法1:$file = 'aaa/bbb/ccc.com/test.php';$res = substr(strrchr($file,'.'), 1);方法2:$file = 'aaa/bbb/ccc.com/test.php';$res = end(explode('.', $file));原创 2020-06-05 11:15:30 · 396 阅读 · 0 评论 -
PHP不使用第三个变量实现交换两个变量的值
方法1:$a = 'aaa';$b = 'bbb';$a .= $b;$b = str_replace($b,'',$a);$a = str_replace($b,'',$a);方法2:$a = 'aaa';$b = 'bbb';list($b,$a) = array($a,$b);原创 2020-06-05 11:01:12 · 190 阅读 · 0 评论 -
PHP不用函数反转字符串
将 “1234567890” 转换成 “0987654321”不要使用函数$s = '1234567890';$o = '';$i = 0;while(isset($s[$i]) && $s[$i] != null) { $o = $s[$i++].$o;}echo $o;这里面有2点需要注意的:1.可以像操作数组一样操作字符串。用$s[index]可以取到改下标的字符。2.$s[$i++] 其实等价于两步操作 $s[$i] $i++...原创 2020-06-04 15:16:59 · 508 阅读 · 1 评论