Предполагая, что это правильно работает, если указано, что подстрока находится в строке, существует ли более сжатый способ сделать это?PHP, 'Haystack содержит иглу?'
if(is_int(strpos($haystack, $needle))){
...
}
Предполагая, что это правильно работает, если указано, что подстрока находится в строке, существует ли более сжатый способ сделать это?PHP, 'Haystack содержит иглу?'
if(is_int(strpos($haystack, $needle))){
...
}
Я бы так не сделал. Просто сделайте строгое сравнение с FALSE
.
$found = strpos($haystack, $needle) !== FALSE;
Не совсем. Это действительно зависит от ваших предпочтений, для которых один из них является самым ясным способом выразить то, что вы делаете. Некоторые альтернативы:
if(strpos($h, $n) !== FALSE){
// stuff
}
if(strpos($h, $n) > -1){
// stuff
}
Наиболее распространенным подходом является, вероятно, использовать строгий FALSE
сравнение, так что если вы работаете над проектом с открытым исходным кодом или есть много других людей, используя свой код, рассмотрим этот вариант.
Почему бы и нет? Похоже, 'is_int' более краток, и он работает – bfavaretto
@bfavaretto Это ненужный дополнительный вызов функции, который среди прочего [дорого] (http://stackoverflow.com/questions/3691625/why-are-php-function -calls-так дорого). – alex
Хм, у вас там есть точка. – bfavaretto