function reverse($str) 

$str2 = "1";
$len = strlen($str);
for($i=0; $i<$len; $i++){
switch ($str[$i]){
case 'C':
$str2[$len-$i-1] = 'G';
break;
case 'G':
$str2[$len-$i-1] = 'C';
break;
case 'A':
$str2[$len-$i-1] = 'T';
break;
case 'T':
$str2[$len-$i-1] = 'A';
break;
}
}
return $str2; 
}

解决方案 »

  1.   


    function reverse($str) 

    $str2 = "1";
    $len = strlen($str);
    for($i=0; $i<$len; $i++){
    switch ($str[$i]){
    case 'C':
    $str2[$len-$i-1] = 'G';
    break;
    case 'G':
    $str2[$len-$i-1] = 'C';
    break;
    case 'A':
    $str2[$len-$i-1] = 'T';
    break;
    case 'T':
    $str2[$len-$i-1] = 'A';
    break;
    }
    }
    return $str2; 
    }
      

  2.   


    <?php
    function reverse($str){
    $_sor = array('C','G','A','T');
    $_rep = array('G','C','T','A');
    $_strLen = strlen($str);
    $_strAr = array();
    $_cStr = null;
    $_cStr_sKey = null;
    for ($i=0;$i<$_strLen;$i++)
    {
    $_cStr = $str[$i];
    $_cStr_sKey = array_search($_cStr,$_sor);
    if ($_cStr_sKey !== false)
    {
    $_cStr = str_replace($_sor[$_cStr_sKey],$_rep[$_cStr_sKey],$_cStr);
    }
    $_strAr[] = $_cStr;
    }
    $str =  implode('',$_strAr);
    $str = strrev($str);
    return $str;
    }$str = 'CACGATGCATGC';
    echo reverse($str);
    // GCATGCATCGTG 你需要的
    // GCATGCATCGTG 这个输出的
    ?>
    匆匆忙忙实现……比较乱。