我将数据保存在JSON文件中,以备重定向后检索。如果我检查json数组中的值是否匹配,我总是得到false,一定是出了什么问题,但我找不出来。如何使用具有特定SSL_SESSION_ID
的对象
这是我的json
[
{
"SSL_CLIENT_S_DN_CN": "John,Doe,12345678912",
"SSL_CLIENT_S_DN_G": "JOHN",
"SSL_CLIENT_S_DN_S": "DOE",
"SSL_CLIENT_VERIFY": "SUCCESS",
"SSL_SESSION_ID": "365cb4834f9d7b3d53a3c8b2eba55a49d5cac0112994fff95c690b9079d810af"
},
{
"SSL_CLIENT_S_DN_CN": "John,Doe,12345678912",
"SSL_CLIENT_S_DN_G": "JOHN",
"SSL_CLIENT_S_DN_S": "DOE",
"SSL_CLIENT_VERIFY": "SUCCESS",
"SSL_SESSION_ID": "e7bd2b6cd3db89e2d6fad5e810652f2ae087965e64b565ec8933b1a67120b0ac"
}
]
下面是我的PHP脚本,它总是返回It doesn't match
$sslData = Storage::disk('private')->get('ssl_login.json');
$decodedData = json_decode($sslData, true);
foreach ($decodedData as $key => $items) {
if ($items['SSL_SESSION_ID'] === $SSL_SESSION_ID) {
dd("It matches");
} else {
dd("It doesn't match");
}
}
发布于 2018-05-28 13:33:03
您应该遍历所有项,然后查看是否存在匹配:
$match = null;
foreach ($decodedData as $key => $items) {
if ($items['SSL_SESSION_ID'] === $SSL_SESSION_ID) {
$match = $items;
// We found a match so let's break the loop
break;
}
}
if (!$match) {
dd('No match found');
}
dd('Match found');
如果您需要以某种方式使用数据,这也会将匹配项保存在$match
变量中。
https://stackoverflow.com/questions/50559562
复制相似问题