向现有PHP脚本添加if-else语句

向现有PHP脚本添加if-else语句,php,Php,希望这对你们来说很简单。我有一个现有的循环,我想在其中添加一个else语句,但是当我尝试时,它会工作,但是如果我在else语句中执行一个echo,我会得到它的多次迭代,因此我怀疑else语句不在正确的位置,或者需要发生其他事情 else{echo“未找到结果”} $count = count($cert['tbsCertificate']['subject']['rdnSequence']); $exists = array('utf8String', 'printableString', 't

希望这对你们来说很简单。我有一个现有的循环,我想在其中添加一个else语句,但是当我尝试时,它会工作,但是如果我在else语句中执行一个echo,我会得到它的多次迭代,因此我怀疑else语句不在正确的位置,或者需要发生其他事情

else{echo“未找到结果”}

$count = count($cert['tbsCertificate']['subject']['rdnSequence']);
$exists = array('utf8String', 'printableString', 'teletexString', 'bmpString', 'universalString');
$oid = array('2.5.4.15', '1.3.6.1.4.1.311.60.2.1.3', '1.3.6.1.4.1.311.60.2.1.2', 'id-at-streetAddress');
for($i = 0; $i < $count; $i++) {
    foreach($exists as $field) {
        if(
            array_key_exists($field, $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value']) &&
            in_array($cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'], $oid)
        ) {
            $value = $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value'][$field];
            $type = $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'];
            echo '     ', str_replace(array_keys($replacements), $replacements, $field), ' : ', str_replace(array_keys($replacements), $replacements, $type), '   ', $value,"\n";
            break; // stop further looping
        } else { echo "no results found"; }
    }
}
基本上,我希望它检查是否存在:
array\u key\u存在($field,$cert['tbsCertificate']['subject']['rdnSequence'][$i][0][$value'])和&u数组中($cert['tbsCertificate']['subject']['rdnSequence'[$i][0]['type'],$oid)

如果没有,则返回else语句
else{echo“未找到任何结果”}

$count = count($cert['tbsCertificate']['subject']['rdnSequence']);
$exists = array('utf8String', 'printableString', 'teletexString', 'bmpString', 'universalString');
$oid = array('2.5.4.15', '1.3.6.1.4.1.311.60.2.1.3', '1.3.6.1.4.1.311.60.2.1.2', 'id-at-streetAddress');
for($i = 0; $i < $count; $i++) {
    foreach($exists as $field) {
        if(
            array_key_exists($field, $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value']) &&
            in_array($cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'], $oid)
        ) {
            $value = $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value'][$field];
            $type = $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'];
            echo '     ', str_replace(array_keys($replacements), $replacements, $field), ' : ', str_replace(array_keys($replacements), $replacements, $type), '   ', $value,"\n";
            break; // stop further looping
        } else { echo "no results found"; }
    }
}
$count=count($cert['tbsCertificate']['subject']['rdnSequence']);
$exists=array('utf8String','printableString','teletexString','bmpString','universalString');
$oid=数组('2.5.4.15','1.3.6.1.4.1.311.60.2.1.3','1.3.6.1.4.1.311.60.2.1.2','streetAddress的id');
对于($i=0;$i<$count;$i++){
foreach($作为$字段存在){
如果(
数组密钥存在($field,$cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value']))&&
在数组中($cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'],$oid)
) {
$value=$cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value'][$field];
$type=$cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'];
回显“”,str_replace(数组_键($replacements),$replacements,$field),“:”,str_replace(数组_键($replacements),$replacements,$type),“”,$value,“\n”;
break;//停止进一步循环
}else{echo“未找到结果”;}
}
}
使用@GRC的解决方案,结果如下所示:

像这样试试

     $count = count($cert['tbsCertificate']['subject']['rdnSequence']);
        $exists = array('utf8String', 'printableString', 'teletexString', 'bmpString', 'universalString');
        $oid = array('2.5.4.15', '1.3.6.1.4.1.311.60.2.1.3', '1.3.6.1.4.1.311.60.2.1.2', 'id-at-streetAddress');
    $else = false;
        for($i = 0; $i < $count; $i++) {
            foreach($exists as $field) {
                if(
                    array_key_exists($field, $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value']) &&
                    in_array($cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'], $oid)
                ) {
                    $value = $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value'][$field];
                    $type = $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'];
                    echo '     ', str_replace(array_keys($replacements), $replacements, $field), ' : ', str_replace(array_keys($replacements), $replacements, $type), '   ', $value,"\n";
                    break; // stop further looping
                } else { 
                    echo "no results found"; 
                      $else = true;
                        break; 
                    }
            }
          if($else)
              break;
        }
$count = count($cert['tbsCertificate']['subject']['rdnSequence']);
$exists = array('utf8String', 'printableString', 'teletexString', 'bmpString', 'universalString');
$oid = array('2.5.4.15', '1.3.6.1.4.1.311.60.2.1.3', '1.3.6.1.4.1.311.60.2.1.2', 'id-at-streetAddress');

for($i = 0; $i < $count; $i++) {
    foreach($exists as $field) {
        if(
            array_key_exists($field, $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value']) &&
            in_array($cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'], $oid)
        ) {
            $value = $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value'][$field];
            $type = $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'];
            echo '     ', str_replace(array_keys($replacements), $replacements, $field), ' : ', str_replace(array_keys($replacements), $replacements, $type), '   ', $value,"\n";
            break; // stop further looping
        } else {
           if($i == 0) {
             echo "No more data";
           }
           break;
        }
    }
}
$count=count($cert['tbsCertificate']['subject']['rdnSequence']);
$exists=array('utf8String','printableString','teletexString','bmpString','universalString');
$oid=数组('2.5.4.15','1.3.6.1.4.1.311.60.2.1.3','1.3.6.1.4.1.311.60.2.1.2','streetAddress的id');
$else=假;
对于($i=0;$i<$count;$i++){
foreach($作为$字段存在){
如果(
数组密钥存在($field,$cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value']))&&
在数组中($cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'],$oid)
) {
$value=$cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value'][$field];
$type=$cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'];
回显“”,str_replace(数组_键($replacements),$replacements,$field),“:”,str_replace(数组_键($replacements),$replacements,$type),“”,$value,“\n”;
break;//停止进一步循环
}否则{
回显“未找到结果”;
$else=真;
打破
}
}
如果($其他)
打破
}
像这样试试

     $count = count($cert['tbsCertificate']['subject']['rdnSequence']);
        $exists = array('utf8String', 'printableString', 'teletexString', 'bmpString', 'universalString');
        $oid = array('2.5.4.15', '1.3.6.1.4.1.311.60.2.1.3', '1.3.6.1.4.1.311.60.2.1.2', 'id-at-streetAddress');
    $else = false;
        for($i = 0; $i < $count; $i++) {
            foreach($exists as $field) {
                if(
                    array_key_exists($field, $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value']) &&
                    in_array($cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'], $oid)
                ) {
                    $value = $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value'][$field];
                    $type = $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'];
                    echo '     ', str_replace(array_keys($replacements), $replacements, $field), ' : ', str_replace(array_keys($replacements), $replacements, $type), '   ', $value,"\n";
                    break; // stop further looping
                } else { 
                    echo "no results found"; 
                      $else = true;
                        break; 
                    }
            }
          if($else)
              break;
        }
$count = count($cert['tbsCertificate']['subject']['rdnSequence']);
$exists = array('utf8String', 'printableString', 'teletexString', 'bmpString', 'universalString');
$oid = array('2.5.4.15', '1.3.6.1.4.1.311.60.2.1.3', '1.3.6.1.4.1.311.60.2.1.2', 'id-at-streetAddress');

for($i = 0; $i < $count; $i++) {
    foreach($exists as $field) {
        if(
            array_key_exists($field, $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value']) &&
            in_array($cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'], $oid)
        ) {
            $value = $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value'][$field];
            $type = $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'];
            echo '     ', str_replace(array_keys($replacements), $replacements, $field), ' : ', str_replace(array_keys($replacements), $replacements, $type), '   ', $value,"\n";
            break; // stop further looping
        } else {
           if($i == 0) {
             echo "No more data";
           }
           break;
        }
    }
}
$count=count($cert['tbsCertificate']['subject']['rdnSequence']);
$exists=array('utf8String','printableString','teletexString','bmpString','universalString');
$oid=数组('2.5.4.15','1.3.6.1.4.1.311.60.2.1.3','1.3.6.1.4.1.311.60.2.1.2','streetAddress的id');
$else=假;
对于($i=0;$i<$count;$i++){
foreach($作为$字段存在){
如果(
数组密钥存在($field,$cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value']))&&
在数组中($cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'],$oid)
) {
$value=$cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value'][$field];
$type=$cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'];
回显“”,str_replace(数组_键($replacements),$replacements,$field),“:”,str_replace(数组_键($replacements),$replacements,$type),“”,$value,“\n”;
break;//停止进一步循环
}否则{
回显“未找到结果”;
$else=真;
打破
}
}
如果($其他)
打破
}

您可以使用
继续2
跳出
foreach
并在找到值的情况下继续下一次
迭代。然后,把你的身体放在
foreach
下面

for($i = 0; $i < $count; $i++) {
    foreach($exists as $field) {
        if(
            array_key_exists($field, $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value']) &&
            in_array($cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'], $oid)
        ) {
            $value = $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value'][$field];
            $type = $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'];
            echo '     ', str_replace(array_keys($replacements), $replacements, $field), ' : ', str_replace(array_keys($replacements), $replacements, $type), '   ', $value,"\n";

            continue 2; // stop looping and continue with for loop
        }
    }
    // nothing found in the whole foreach
    echo "no results found for $i\n";
    break; // jump out
}
($i=0;$i<$count;$i++)的
{
foreach($作为$字段存在){
如果(
数组密钥存在($field,$cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value']))&&
在数组中($cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'],$oid)
) {
$value=$cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value'][$field];
$type=$cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'];
回显“”,str_replace(数组_键($replacements),$replacements,$field),“:”,str_replace(数组_键($replacements),$replacements,$type),“”,$value,“\n”;
continue 2;//停止循环并继续for循环
}
}
//整个foreach里什么也没找到
echo“找不到$i的结果\n”;
break;//跳出
}

您可以使用
继续2
跳出
foreach
并在找到值的情况下继续下一次
迭代。然后,把你的身体放在
foreach
下面

for($i = 0; $i < $count; $i++) {
    foreach($exists as $field) {
        if(
            array_key_exists($field, $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value']) &&
            in_array($cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'], $oid)
        ) {
            $value = $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['value'][$field];
            $type = $cert['tbsCertificate']['subject']['rdnSequence'][$i][0]['type'];
            echo '     ', str_replace(array_keys($replacements), $replacements, $field), ' : ', str_replace(array_keys($replacements), $replacements, $type), '   ', $value,"\n";

            continue 2; // stop looping and continue with for loop
        }
    }
    // nothing found in the whole foreach
    echo "no results found for $i\n";
    break; // jump out
}
($i=0;$i<$count;$i++)的
{
foreach($作为$字段存在){
如果(
数组密钥存在($field,$cert['tbsCertificate']['subject']['rd