对于学校项目,我需要在长字符串中找到字符串“AAAAAA”的位置。我需要使用for
循环。到目前为止,我想出了以下代码:
<?php
$string1 = "TATAGTTTCCTCTCTATAT";
$string2 = str_repeat("AAAGCCTCAAATCTCTCTAGTAAAAAAGCCTCAAATCTCTCTAGTAAA", 6);
$count = strlen($string1.=$string2);
for($i = 0; $i < $count; $i++){
$string_to_find = $count{$i};
print(strpos($string_to_find, 'AAAAAA'));
}
?>
我无法让它发挥作用。我做错了什么?
答案 0 :(得分:0)
如果您使用的是strpos(),则不需要使用for循环。你可以在没有它的情况下得到结果。
<?php
$string1 = "TATAGTTTCCTCTCTATAT";
$string_to_find="";
$string2 = str_repeat("AAAGCCTCAAATCTCTCTAGTAAAAAAGCCTCAAATCTCTCTAGTAAA", 6);
$count = strlen($string1.=$string2);
for($i = 0; $i < $count; $i++){
$string_to_find.=$string1{$i};
print(strpos($string_to_find, 'AAAAAA'));
}
?>
这是您可以尝试的代码。
答案 1 :(得分:0)
我认为使用for
/ foreach
循环进行此操作非常糟糕
无论如何,这是你的代码,改变你的代码,希望它的工作
<?php
$string1 = "TATAGTTTCCTCTCTATAT";
$string2 = str_repeat( "AAAGCCTCAAATCTCTCTAGTAAAAAAGCCTCAAATCTCTCTAGTAAA", 6 );
$count = strlen( $string1 .= $string2 );
$temp = null;
foreach( str_split( $string1 ) as $char ) {
$temp .= $char;
if ( ( $pos = strpos( $temp, "AAAAAA" ) ) !== false ) {
print( $pos." " );
$temp = null;
}
}
?>