2015-04-17 44 views
-1

我一個證書做一個檢查,並需要使用if語句來確定如何設置一個變量PHP if語句援助

這是我想檢查路徑。在這種情況下,它以['utf8String']結束。

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

然而,最後的[]既可以是[「UTF8字符串」],也可能是[「可打印」]和基於不管它是我想要設置爲一個變量。我試着用以下的代碼,但它不起作用。需要一些建議。

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

「不起作用」是什麼意思?你有任何錯誤? – Rizier123

回答

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 
} 

如果您正在循環數組,然後請更改數組。

+0

謝謝你比我解釋它更好地理解我的問題。您的代碼完全按照要求工作。感謝您的幫助! – user3436467