function str2_in_str1($str1, $str2) {
$p_len = strlen($str2);
$w_len = strlen($str1);
$w_start = $w_len-$p_len;
if (substr($str1, $w_len-$p_len, $p_len) == $str2) {
return "true";
}
else
{
return "false";
}
}
echo str2_in_str1("Python","thon")."\n";
echo str2_in_str1("JavaScript","ript")."\n";
有人可以向我解释这个功能发生了什么? 感谢。
答案 0 :(得分:1)
即使这可以做得更干净......在学习如何通过并给出变量描述性名称并添加一些注释时,这是一个好主意。
我在这里所做的是希望它可以使事情变得更加清晰。
所以我把它分解成更易消化的部分并对其进行评论......
注意:有更好的方法可以执行相同的功能......
/**
* Determine if String2 matches the end of String 1
*
* Example: String1 Python
* String2 __thon
* would return true, otherwise false
*
* @param $string1
* @param $string2
* @return string
*/
function is_str2_at_end_of_str1($string1, $string2) {
$length_of_string1 = strlen($string1);
$length_of_string2 = strlen($string2);
// Get the position of where string2
// Only works if $length_string1 > $length_string2
$position_in_string1 = $length_of_string1 - $length_of_string2;
// Get the characters at the end of string1 that is the same size as string2.
// Go to php.net and look up substr()
$string1_end_section = substr($string1, $position_in_string1, $length_of_string2);
if ($string1_end_section == $string2) {
return "true"; // This is a string and not a boolean true/false
} else {
return "false"; // This is a string and not a boolean true/false
}
}
echo is_str2_at_end_of_str1("Python", "thon") . "\n";
echo is_str2_at_end_of_str1("JavaScript", "ript") . "\n";
答案 1 :(得分:-1)
检查$str2
是否在$str1
的末尾。还会为此比较返回true
或false
。