<?php $haystack = 'believe'; // 父串 $needle = 'php'; // 子串 $pos = strpos($haystack, $needle); if ($pos !== false) { echo "『{$haystack}』包含子串『{$needle}』,位置:$pos" . PHP_EOL; } else { echo "『{$haystack}』不包含子串『{$needle}』" . PHP_EOL; // 『believe』不包含子串『php』 } $needle = 'lie'; // 子串 $pos = strpos($haystack, $needle); if ($pos !== false) { echo "『{$haystack}』包含子串『{$needle}』,位置:$pos" . PHP_EOL; // 『believe』包含子串『lie』,位置:2 } else { echo "『{$haystack}』不包含子串『{$needle}』" . PHP_EOL; } $needle = 'LIE'; // 子串 $pos = strpos($haystack, $needle); // 重要提醒:strpos('父串', '子串')区分大小写 if ($pos !== false) { echo "『{$haystack}』包含子串『{$needle}』,位置:$pos" . PHP_EOL; } else { echo "『{$haystack}』不包含子串『{$needle}』" . PHP_EOL; // 『believe』不包含子串『LIE』 } $pos = stripos($haystack, $needle); // 重要提醒:stripos('父串', '子串')不区分大小写 if ($pos !== false) { echo "『{$haystack}』包含子串『{$needle}』,位置:$pos" . PHP_EOL; // 『believe』包含子串『LIE』,位置:2 } else { echo "『{$haystack}』不包含子串『{$needle}』" . PHP_EOL; } // 如果PHP≥8强烈推荐使用str_contains()函数判断是否包含子串,重要提醒:str_contains('父串', '子串')区分大小写 if (!function_exists('str_contains')) { /** * 确定字符串是否包含指定子串 * * @param string $haystack 在其中搜索的字符串 * @param string $needle 要在haystack中搜索的子串 * @return bool 如果needle在haystack中,返回true,否则返回false */ function str_contains(string $haystack, string $needle): bool { $pos = strpos($haystack, $needle); return $pos !== false; } } echo var_export(str_contains('believe', 'lie'), true) . PHP_EOL; // true echo var_export(str_contains('believe', 'LIE'), true) . PHP_EOL; // false // 截取字符串(从字符串'believe'里截取子串,从第2个字符开始,共截取3个字符) echo substr('believe', 2, 3) . PHP_EOL; // lie // 截取SHA-512哈希值中间100个字符 $sha512 = hash('sha512', 'believe'); // 说明:SHA-512哈希值长度为128个字符 echo substr($sha512, 14, 100) . PHP_EOL; //========== 总结 ==========// // 1、strpos('父串', '子串')区分大小写,而stripos('父串', '子串')不区分大小写。 // 2、如果PHP≥8强烈推荐使用str_contains()函数判断是否包含子串,注意该函数和strpos()一样都是区分大小写的。
Copyright © 2024 码农人生. All Rights Reserved