Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP if语句帮助_Php - Fatal编程技术网

PHP if语句帮助

PHP if语句帮助,php,Php,我正在证书中查找,需要使用if语句来确定如何设置变量 这就是我要检查的路径。在本例中,它以['utf8String']结尾 $cert['tbsCertificate']['subject']['rdnSequence'][0][0]['value']['utf8String'] 但是,最后一个[]可以是['utf8String'],也可以是['printableString'],根据它是什么,我想将其设置为变量。。我尝试了以下代码,但不起作用。我需要一些建议 if($cert['tbsCer

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

这就是我要检查的路径。在本例中,它以['utf8String']结尾

$cert['tbsCertificate']['subject']['rdnSequence'][0][0]['value']['utf8String']

但是,最后一个[]可以是['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'];

}
您正在检查键而不是值。试试-

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
}

如果在阵列中循环,请更改阵列。

什么是“不工作”?你有什么错误吗?谢谢你理解我的问题比我解释的更好。您的代码完全按照要求工作。感谢您的帮助!