jungle_drums

jungle_drums 查看完整档案

广州编辑  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑

_
| |__ __ _
| '_ | | | |/ _` |
| |_) | |_| | (_| |
|_.__/ \__,_|\__, |

         |___/

个人动态

jungle_drums 赞了问题 · 2020-08-24

php对接paypal支付,测试账号买家扣款成功,但卖家账号未显示有收款

php对接paypal,用的是paypal/rest-api-sdk-php,用了沙箱模式的卖家测试账号和测试买家账号,买家购买了商品后,跳回同步回调方法,显示支付成功,异步回调地址也收到了paypal的数据,登录测试买家账号,显示扣除了款项,但是状态是pending,中文是待接受,登录测试卖家账号,没有收到买家的款项,查了谷歌和百度,说可能是邮箱未激活,未激活的邮箱是收不到款项的,我这个真实邮箱是激活了的,而且现在的登录的卖家账号是沙箱模式的测试卖家账号,应该不存在激活问题吧,然后又说卖家第一次收款,要点击一个接受收款按钮才可以收款,但是我的卖家账号那里没有一个接收按钮,实在不知道是出了什么问题,有大神解答一下吗。1598109591(1).jpg
1598110110(1).jpg

关注 2 回答 2

jungle_drums 赞了回答 · 2020-08-06

解决PHP for 循环中 ‘-->‘ 写法解释

i-->0 (i--)>0 不要被酷炫的符号迷惑啦

for($retry=10;$retry-->0;){
            if(){
                continue;
            }
            break;
        }

等同于

for($retry=10;($retry--)>0;){
            if(){
                continue;
            }
            break;
        }

等同于

for($retry = 10; $retry >0 ; $retry--){
            if(){
                continue;
            }
            break;
        }

这样是不是可以理解了

关注 4 回答 3

jungle_drums 回答了问题 · 2020-02-05

解决名字和年龄只显示其一,选项正常,如何解决

$name = test_input($_POST['age']);

这里变量错了,把上面的$name覆盖了。。

关注 2 回答 1

jungle_drums 赞了文章 · 2019-11-11

解决宝塔面板迁移网站"Fatal error:Incompatible file format"报错问题

前2天帮助一个客户迁移网站到宝塔面板上面,他网站的php版本5.2。
迁移网站三个步骤:迁移网站文件、导入数据库,最后是修改数据库链接文件的配置信息(数据库名、数据库用户名以及数据库密码,毕竟新建的数据库的配置信息与原来的会有所不同)。
域名绑定解析,然后这三个步骤弄完之后,访问网站时提示:
Fatal error:Incompatible file format:The encoded file has format major ID...
刚开始还以为是修改数据库配置文件时账号密码弄错了或者是修改时不小心留了空格之类的。然后就重新创建站点,在创建站点的时候直接把数据库信息设置成和原来一样的(这样就不用再修改配置文件了),江边鸟主机 的网站在迁移到宝塔时就是这样弄的,很方便。
1.jpg
但是弄好之后再访问网站时,还是同样的问题,在网上搜了下,有说是配置文件问题,有说是php版本问题。既然不是配置版本问题,我就尝试更换下php版本(网站原php是5.2,新建的宝塔站点php是5.4的),我就更换PHP版本到5.2,再访问时,网站就正常了。
2.jpg
其实不止这个问题,在网站迁移或者是网站从Windows2003系统迁移到Windows2008系统时,php版本问题都是要考虑的。

查看原文

赞 0 收藏 0 评论 0

jungle_drums 关注了问题 · 2019-10-25

解决求PHP的多维数组嵌套遍历指定格式的算法

有一个二维数组

array(2) {
  ["尺寸"]=>
  array(2) {
    [0]=>
    string(3) "Big"
    [1]=>
    string(5) "small"
  }
  ["颜色"]=>
  array(2) {
    [0]=>
    string(6) "yellow"
    [1]=>
    string(3) "red"
  }
   ["高度"]=>
  array(2) {
    [0]=>
    string(6) "100"
    [1]=>
    string(3) "50"
  }
}

需要实现一个遍历每个key出一个元素,这里面的规格可能有很多,比如颜色尺寸长度等等, 然后组成一个新的包含所有组合的排列

 [
 [
    颜色:'yellow',
    尺寸:"Big",
    高度 :'100',
 ],
 [
    颜色:'yellow',
    尺寸:"red",
    高度 :'100',
 ], [
    颜色:'yellow',
    尺寸:"small",
    高度 :'',
 ], [
    颜色:'red',
    尺寸:"small",
    高度 :'',
 ],
 ]
 

大概这种数组格式,所以求一个算法,现在我是只能遍历拼接但是做不来数组。

关注 4 回答 2

jungle_drums 赞了回答 · 2019-10-17

解决php如何定义类似如下静态调用,并且通过箭头多级关联调用

function name()
{
    //code...
    return new static();
}
function where()
{
    //code...
    return $this;
}
function field()
{
    //code...
    return $this;
}

鉴于楼主知识点薄弱,详细回答下:

第1步:
Db::name()调用的是\think\Db类的name(),但是该类没有name(),所以实际调用的是__callStatic()(知识点1)。

__callStatic()里调用的是self::connect()对象的name()self::connect()对象是new \think\db\connector\Mysql()。所以Db::name()实际调用的是(new Mysql())->name();

Mysql里也没有name(),所以实际调用的父类Connectionname()(知识点2)。

Connection里也没有name(),所以实际调用的Connection__call()(知识点3)。

Connection__call()调用的是$this->getQuery()name()$this->getQuery()对象是new \think\db\Query()

Query里有name(),所以Db::name()实际调用的是(new Query())->name();

第2步:

因为Query里的name()返回return $this;。所以->field('id,name')调用的是Query里有field()(知识点4)。

第3步:

因为Query里的field()返回return $this;。所以->where('id,name')调用的是Query里有where()

第4步:

因为Query里的where()返回return $this;。所以->find('id,name')调用的是Query里有find()

关注 2 回答 1

jungle_drums 赞了回答 · 2019-10-09

解决PHPStorm比VScode强在哪里?

个人习惯。
就像是在使用 PHPStorm 之前,我是用的 Eclipse 以及衍生版本 HBuilder ,这类 IDE 类型的开发工具。从那以后,就对 IDE 爱不释手,在 VSC 出来之前,也有很多人说 Sublime Text 3 ,好用,再配置各种插件后,行云流水,如此云云。

但是就我自己对 Sublime Text 3 的使用体验来说,并不好,那会儿刚入门,对于其 json 方式的配置并不能接受,而且各种配置都难以找到,安装插件虽然简单,但是配置插件确繁杂,比如配置一个 PHP inspect 插件,我还需要找到配置文件中修改 php 的可执行文件,等等,但是当我使用 IDE 时,我不用再去关心这些,它会为我自动找到。而且当你花了一两个小时配置完 Sublime Text 3 时,开始写代码却发现,某些插件会导致出错,比如 Sublime Text 的自动格式化插件在开启保存自动格式化,保存时会卡。

等等,但是这些功能,在 IDE 中,都可以做到开箱即用,而且有方便的配置。

随便一个人 拿到 IDE 都可以随心所欲的去操作他,但是 Editor 不一样,就像 vim 这类工具,如果你肯研究,花个几天时间去配置,他一样很强,但是他最终做的事情,有可能还不如 IDE 顺畅。

还有对于开发效率比较重要的一个东西,对于我而言,那就是 快捷键,当然,如果是使用 Editor,你会发现,这些软件多多少少都会提供一些常见开发工具的快捷键方案,但是这种方案基本都是很糟糕。但是如果我用 Jetbrains 家的全家桶,这种感觉就会好很多,省心。

我就习惯这种开箱即用的感觉,而不是说,我拿到一个东西后,需要去修修补补,才能去用它,大家时间都很宝贵。

当然,编辑器都有 Portable Edition ,可以打包后放在云空间,需要时下载,但是对于我来说我也会觉得那是一个累赘。

再说了,就为了愉快的开发,我才 2700X + 32G 内存 ,就是为了换来好的开发体验,自己爽就完事儿了,管别人怎么说。

当然,最重要的一部分,那就是商业授权了, 如果公司觉得 Jetbrains 家太贵,为了规避风险,要求使用 VSC ,这些都是都是因素。

如果你觉得 IDE 的功能和 Editor 一样,那就说明 IDE 没有被你充分发掘。当然,反过来说,IDE 能实现的, Editor 理论都能实现。

eg:

clipboard.png

clipboard.png

我可以在 composer.json 按下 Ctrl + Q ,就能跳转到这个包的 packagist 或者 github 亦或者包主页。当然,这都是由作者去定的,而且,这个还是开箱即用的哟。

你可以把 Editor 看成 IDE 的 Lite 版本。

附 Wiki :

IDE

集成开发环境(Integrated Development Environment,简称IDE,也称为Integration Design Environment、Integration Debugging Environment)是一种辅助程序开发人员开发软件的应用软件,在开发工具内部就可以辅助编写源代码文本、并编译打包成为可用的程序,有些甚至可以设计图形接口。

IDE通常包括编程语言编辑器、自动构建工具、通常还包括调试器。有些IDE包含编译器/解释器,如微软的Microsoft Visual Studio,有些则不包含,如Eclipse、SharpDevelop等,这些IDE是通过调用第三方编译器来实现代码的编译工作的。有时IDE还会包含版本控制系统和一些可以设计图形用户界面的工具。许多支持面向对象的现代化IDE还包括了类别浏览器、对象查看器、对象结构图。虽然当前有一些IDE支持多种编程语言(例如Eclipse、NetBeans、Microsoft Visual Studio),但是一般而言,IDE主要还是针对特定的编程语言而量身打造(例如Visual Basic)。

Editor

文本编辑器是计算机软件中的一种。主要用于用来编写和查看文本文件。有一些特殊的文本编辑器支持增加自有的格式来丰富文档的表现形式。操作系统或者集成开发环境通常会带有可以查看和编辑纯文本的编辑器,可增加格式的文本编辑器通常是个人用户或者公司在制作需要格式的文件中使用。[1]

因为程序和程序的配置文件通常是以纯文本形式储存,所以程序员也需要使用纯文本编辑器来编辑程序和配置文件。

关注 3 回答 2

jungle_drums 赞了回答 · 2019-09-29

阿里云通道发短信用户收到短信速度慢,要几分钟才能收到

这个应该不算技术问题.. 如果发送慢的话,有可能是发送目标那边的问题,最好还是提交工单问一问阿里的人吧

关注 2 回答 1

jungle_drums 提出了问题 · 2019-09-03

如何修复:未加密的登录请求

网站被检测出登录方法存在【未加密的登录请求】漏洞,
clipboard.png

漏洞的修改建议是:确保所有登录请求都以加密方式发送到服务器。

由于某些原因无法使用SSL,所以这里正确的处理方式(登录请求加密)应该是如何的?

关注 2 回答 1

jungle_drums 回答了问题 · 2019-08-30

解决取值报错怎么回事

这个是JSON字符串,可以用json_decode转成数组或者对象。如

$str = '{"nickName":"6952","gender":1,"language":"zh_CN"}';
$array = json_decode($str, true);
var_dump($array['gender']);

关注 2 回答 1

认证与成就

  • 获得 13 次点赞
  • 获得 46 枚徽章 获得 0 枚金徽章, 获得 13 枚银徽章, 获得 33 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2016-11-03
个人主页被 1k 人浏览