PHP if语句帮助

时间:2015-04-17 06:29:40

标签: php

我在证书中进行查找,需要使用if语句来确定如何设置变量

这是我要检查的路径。在这种情况下,它以['utf8String']结束。

  

$证书[ '即tbsCertificate'] [ '主题'] [ 'rdnSequence'] [0] [0] [ '价值'] [ 'UTF8字符串'];

然而,最后一个[]可能是['utf8String']或者它可能是['printableString']并且基于我想要将其设置为变量的任何东西..我尝试使用以下代码但它不起作用。需要一些建议。

if ($cert['tbsCertificate']['subject']['rdnSequence'][0][0]['value'] == "utf8String") {
$CN = $cert['tbsCertificate']['subject']['rdnSequence'][0][0]['value']['utf8String'];
} else if ($cert['tbsCertificate']['subject']['rdnSequence'][0][0]['value'] != "utf8String") {
$CN = $cert['tbsCertificate']['subject']['rdnSequence'][0][0]['value']['printableString'];
}

1 个答案:

答案 0 :(得分:2)

您正在检查密钥而不是值。试试 -

if (array_key_exists('utf8String', $cert['tbsCertificate']['subject']['rdnSequence'][0][0]['value'])) {
    // do what you want
} else if (array_key_exists('printableString', $cert['tbsCertificate']['subject']['rdnSequence'][0][0]['value'])) {
    // do what you want
}

如果您循环遍历阵列,请更改阵列。