csrで識別名が必要ですが、以下のように
$dn = array( "a" => $val_a, "b" => $val_b, "c" => $val_c );
と記述すると、空の要素があったときに、openssl_csr_new
コマンドでエラーが出ます。
例えば、val_b
が空の場合は
if($val_b == NULL) { $dn = array( "a" => $val_a, "c" => $val_c ); } else { $dn = array( "a" => $val_a, "b" => $val_b, "c" => $val_c ); }
のように書くこともできますが、コードが長くなり、読みづらくなります。 そこで、以下のように
$dn = array(); $dn["a"] = $val_a; if($val_b != NULL) { $dn["b"] = $val_b; } $dn["c"] = $val_c;
のように書くことで、短く、かつ読みやすくなります。