十博
当前位置: 十博 > 十博 >
十博php数组函数序列之array_values 获取数组元素值的函数与方法_php技巧_脚本之家

配置参数

  • 类型:套装
  • 材质:其他
  • 适用机型:通用
  • 承重:89g
  • 脚架包:没有
  • 三脚架类型:其他

查看完整参数>>

背景与问题解决方式

array_values 函数返回包含数组中所有键名的一个新数组。 如果提供了第二个参数,则只返回键值为该值的键名。 如果 strict 参数指定为 true,则 PHP 会使用全等比较 来严格检查键值的数据类型。 语法 array_keys 参数 描述 array 必需。规定输入的数组。 value 可选。指定值的索引。 strict 可选。与 value 参数一起使用。可能的值: true - 根据类型返回带有指定值的键名。 false - 默认值。不依赖类型。 例子 1 复制代码 代码如下: "Horse","b"=>"Cat","c"=>"Dog"); print_r; ?> 输出: Array ( [0] => a [1] => b [2] => c ) 例子 2 使用 value 参数: 复制代码 代码如下: "Horse","b"=>"Cat","c"=>"Dog"); print_r; ?> 输出: Array 例子 3 使用 strict 参数 : 复制代码 代码如下: 输出: Array 例子 4 使用 strict 参数 : 复制代码 代码如下: 输出: Array

老项目重构支付宝部分代码整合支付宝新的sdk时发现验签总是失败,才发现是open_verify最后的参数传输问题。而open_sign同样如此。本文主要说明open_verify的解决方式和代码解析。而问题的解决方式也是修改最后的加密类型参数,解决方式代码如下:

// 将最后的常量OPENSSL_ALGO_SHA256修改成字符串openssl_verify($data, base64_decode, $res, "sha256WithRSAEncryption");

官方文档解释

上面只说了问题的出现与对应的解决方式,如果有兴趣继续了解该函数的,可以继续往下读,首先来看下官方文档对此函数的解释。

int openssl_verify ( string $data , string $signature , mixed $pub_key_id [, mixed $signature_alg = OPENSSL_ALGO_SHA1 ] )

参数注释

data

以前用来生成签名的数据字符串。

返回顶部