Меню

Php сравнение строки с массивом строк



Сравнение строки с массивом

сравнение с массивом
у меня есть массив определенных слов и мне нужно одно проверить слово не совпадает ли оно с каким.

Сравнение с массивом
Как сравнить данные и проверить если не равно в масcиве, чтобы убрать else $ipadmin=$_SERVER;.

Сравнение переменной с массивом
Доброго времени суток, форумчане. Есть такой вопрос у меня к вам: как можно сравнить без лишней.

Сравнение переменной с массивом и вывод картинки
Здравствуйте! Подскажите пожалуйста как решить такую задачу: Есть массив с данными, для примера.

А пользователь вводит на пример $messages = ‘Как дела?’;
и вот именно слово дела нужно найти в массиве, т.е. i должно вывести 1

Добавлено через 1 минуту
Нужно найти хоть одно слово совпадающее в строке от пользователя и в моем массиве.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Сравнение строки с массивом
Здравствуйте Есть JS, при выполнении которого символы введенные в инпут сравниваются с массивом и.

Посимвольное сравнение строки с массивом
Здравствуйте. Есть следующий код: char a = ‘Ф’; String b = «RФф»; for(int i = b.Length(); i.

Сравнение массивом
Здравствуйте! Я ничего не знаю о программировании, поэтому спрашиваю у вас. Скажите, если мне нужно.

Сравнение символов с массивом
Здравствуйте Есть JS, при выполнении которого символы введенные в инпут сравниваются с массивом и.

Источник

Функции для работы со строками

Для получения информации о более сложной обработке строк обратитесь к функциями Perl-совместимых регулярных выражений. Для работы с многобайтовыми кодировками посмотрите на функции по работе с многобайтовыми кодировками.

Содержание

  • addcslashes — Экранирует строку слешами в стиле языка C
  • addslashes — Экранирует строку с помощью слешей
  • bin2hex — Преобразует бинарные данные в шестнадцатеричное представление
  • chop — Псевдоним rtrim
  • chr — Генерирует односимвольную строку по заданному числу
  • chunk_split — Разбивает строку на фрагменты
  • convert_cyr_string — Преобразует строку из одной кириллической кодировки в другую
  • convert_uudecode — Декодирует строку из формата uuencode в обычный вид
  • convert_uuencode — Кодирует строку в формат uuencode
  • count_chars — Возвращает информацию о символах, входящих в строку
  • crc32 — Вычисляет полином CRC32 для строки
  • crypt — Необратимое хеширование строки
  • echo — Выводит одну или более строк
  • explode — Разбивает строку с помощью разделителя
  • fprintf — Записывает отформатированную строку в поток
  • get_html_translation_table — Возвращает таблицу преобразований, используемую функциями htmlspecialchars и htmlentities
  • hebrev — Преобразует текст на иврите из логической кодировки в визуальную
  • hebrevc — Преобразует текст на иврите из логической кодировки в визуальную с преобразованием перевода строки
  • hex2bin — Преобразует шестнадцатеричные данные в двоичные
  • html_entity_decode — Преобразует HTML-сущности в соответствующие им символы
  • htmlentities — Преобразует все возможные символы в соответствующие HTML-сущности
  • htmlspecialchars_decode — Преобразует специальные HTML-сущности обратно в соответствующие символы
  • htmlspecialchars — Преобразует специальные символы в HTML-сущности
  • implode — Объединяет элементы массива в строку
  • join — Псевдоним implode
  • lcfirst — Преобразует первый символ строки в нижний регистр
  • levenshtein — Вычисляет расстояние Левенштейна между двумя строками
  • localeconv — Возвращает информацию о форматировании чисел
  • ltrim — Удаляет пробелы (или другие символы) из начала строки
  • md5_file — Возвращает MD5-хеш файла
  • md5 — Возвращает MD5-хеш строки
  • metaphone — Возвращает ключ metaphone для строки
  • money_format — Форматирует число как денежную величину
  • nl_langinfo — Возвращает информацию о языке и локали
  • nl2br — Вставляет HTML-код разрыва строки перед каждым переводом строки
  • number_format — Форматирует число с разделением групп
  • ord — Конвертирует первый байт строки в число от 0 до 255
  • parse_str — Разбирает строку в переменные
  • print — Выводит строку
  • printf — Выводит отформатированную строку
  • quoted_printable_decode — Преобразует строку, закодированную методом quoted-printable в 8-битную строку
  • quoted_printable_encode — Преобразует 8-битную строку с помощью метода quoted-printable
  • quotemeta — Экранирует специальные символы
  • rtrim — Удаляет пробелы (или другие символы) из конца строки
  • setlocale — Устанавливает настройки локали
  • sha1_file — Возвращает SHA1-хеш файла
  • sha1 — Возвращает SHA1-хеш строки
  • similar_text — Вычисляет степень похожести двух строк
  • soundex — Возвращает ключ soundex для строки
  • sprintf — Возвращает отформатированную строку
  • sscanf — Разбирает строку в соответствии с заданным форматом
  • str_contains — Determine if a string contains a given substring
  • str_ends_with — Checks if a string ends with a given substring
  • str_getcsv — Выполняет разбор CSV-строки в массив
  • str_ireplace — Регистронезависимый вариант функции str_replace
  • str_pad — Дополняет строку другой строкой до заданной длины
  • str_repeat — Возвращает повторяющуюся строку
  • str_replace — Заменяет все вхождения строки поиска на строку замены
  • str_rot13 — Выполняет преобразование ROT13 над строкой
  • str_shuffle — Переставляет символы в строке случайным образом
  • str_split — Преобразует строку в массив
  • str_starts_with — Checks if a string starts with a given substring
  • str_word_count — Возвращает информацию о словах, входящих в строку
  • strcasecmp — Бинарно-безопасное сравнение строк без учёта регистра
  • strchr — Псевдоним strstr
  • strcmp — Бинарно-безопасное сравнение строк
  • strcoll — Сравнение строк с учётом текущей локали
  • strcspn — Возвращает длину участка в начале строки, не соответствующего маске
  • strip_tags — Удаляет теги HTML и PHP из строки
  • stripcslashes — Удаляет экранирование символов, произведённое функцией addcslashes
  • stripos — Возвращает позицию первого вхождения подстроки без учёта регистра
  • stripslashes — Удаляет экранирование символов
  • stristr — Регистронезависимый вариант функции strstr
  • strlen — Возвращает длину строки
  • strnatcasecmp — Сравнение строк без учёта регистра с использованием алгоритма «natural order»
  • strnatcmp — Сравнение строк с использованием алгоритма «natural order»
  • strncasecmp — Бинарно-безопасное сравнение первых n символов строк без учёта регистра
  • strncmp — Бинарно-безопасное сравнение первых n символов строк
  • strpbrk — Ищет в строке любой символ из заданного набора
  • strpos — Возвращает позицию первого вхождения подстроки
  • strrchr — Находит последнее вхождение символа в строке
  • strrev — Переворачивает строку задом наперёд
  • strripos — Возвращает позицию последнего вхождения подстроки без учёта регистра
  • strrpos — Возвращает позицию последнего вхождения подстроки в строке
  • strspn — Возвращает длину участка в начале строки, полностью соответствующего маске
  • strstr — Находит первое вхождение подстроки
  • strtok — Разбивает строку на токены
  • strtolower — Преобразует строку в нижний регистр
  • strtoupper — Преобразует строку в верхний регистр
  • strtr — Преобразует заданные символы или заменяет подстроки
  • substr_compare — Бинарно-безопасное сравнение 2 строк со смещением, с учётом или без учёта регистра
  • substr_count — Возвращает число вхождений подстроки
  • substr_replace — Заменяет часть строки
  • substr — Возвращает подстроку
  • trim — Удаляет пробелы (или другие символы) из начала и конца строки
  • ucfirst — Преобразует первый символ строки в верхний регистр
  • ucwords — Преобразует в верхний регистр первый символ каждого слова в строке
  • vfprintf — Записывает отформатированную строку в поток
  • vprintf — Выводит отформатированную строку
  • vsprintf — Возвращает отформатированную строку
  • wordwrap — Переносит строку по указанному количеству символов
Читайте также:  Линии сравнения ответственность по обязательствам органы управления

User Contributed Notes 23 notes

In response to hackajar yahoo com,

No string-to-array function exists because it is not needed. If you reference a string with an offset like you do with an array, the character at that offset will be return. This is documented in section III.11’s «Strings» article under the «String access and modification by character» heading.

I use these little doo-dads quite a bit. I just thought I’d share them and maybe save someone a little time. No biggy. 🙂

// returns true if $str begins with $sub
function beginsWith( $str, $sub ) <
return ( substr( $str, 0, strlen( $sub ) ) == $sub );
>

// return tru if $str ends with $sub
function endsWith( $str, $sub ) <
return ( substr( $str, strlen( $str ) — strlen( $sub ) ) == $sub );
>

// trims off x chars from the front of a string
// or the matching string in $off is trimmed off
function trimOffFront( $off, $str ) <
if( is_numeric( $off ) )
return substr( $str, $off );
else
return substr( $str, strlen( $off ) );
>

// trims off x chars from the end of a string
// or the matching string in $off is trimmed off
function trimOffEnd( $off, $str ) <
if( is_numeric( $off ) )
return substr( $str, 0, strlen( $str ) — $off );
else
return substr( $str, 0, strlen( $str ) — strlen( $off ) );
>

This example lets you parse an unparsed strings variables. Warning: This could cause security leaks if you allow users to pass $variables through this engine. I recommend only using this for your Content Management System.

Just a note in regards to bloopletech a few posts down:

The word «and» should not be used when converting numbers to text. «And» (at least in US English) should only be used to indicate the decimal place.

Example:
1,796,706 => one million, seven hundred ninety-six thousand, seven hundred six.
594,359.34 => five hundred ninety four thousand, three hundred fifty nine and thirty four hundredths

Читайте также:  Теория перевода сравнить с

//
// string strtrmvistl( string str, [int maxlen = 64],
// [bool right_justify = false],
// [string delimter = «
\n»])
//
// splits a long string into two chunks (a start and an end chunk)
// of a given maximum length and seperates them by a given delimeter.
// a second chunk can be right-justified within maxlen.
// may be used to ‘spread’ a string over two lines.
//

function strtrmvistl($str, $maxlen = 64, $right_justify = false, $delimter = «
\n») <
if(($len = strlen($str = chop($str))) > ($maxlen = max($maxlen, 12))) <
$newstr = substr($str, 0, $maxlen — 3);

if($len > ($maxlen — 3)) <
$endlen = min(($len — strlen($newstr)), $maxlen — 3);
$newstr .= «. » . $delimter;

if($right_justify)
$newstr .= str_pad(», $maxlen — $endlen — 3, ‘ ‘);

$newstr .= «. » . substr($str, $len — $endlen);
>

I really searched for a function that would do this as I’ve seen it in other languages but I couldn’t find it here. This is particularily useful when combined with substr() to take the first part of a string up to a certain point.

strnpos() — Find the nth position of needle in haystack.

function strnpos ( $haystack , $needle , $occurance , $pos = 0 ) <

for ( $i = 1 ; $i $occurance ; $i ++) <
$pos = strpos ( $haystack , $needle , $pos ) + 1 ;
>
return $pos — 1 ;

?>

Example: Give me everything up to the fourth occurance of ‘/’.

$root_dir = substr ( $haystack , 0 , strnpos ( $haystack , $needle , 4 ));

Use this example with the server variable $_SERVER[‘SCRIPT_NAME’] as the haystack and you can self-discover a document’s root directory for the purposes of locating global files automatically!

The functions below:

function beginsWith( $str, $sub )
function endsWith( $str, $sub )

Are correct, but flawed. You’d need to use the === operator instead:

function beginsWith( $str, $sub ) <
return ( substr( $str, 0, strlen( $sub ) ) === $sub );
>
function endsWith( $str, $sub ) <
return ( substr( $str, strlen( $str ) — strlen( $sub ) ) === $sub );
>

Otherwise, endsWith would return «foobar.0» ends with «.0» as well as «0» or «00» or any amount of zeros because numerically .0 does equal 0.

/*
* str_match
*
* return a string with only cacacteres defined in a expression return false if the expression is not valid
*
* @param $str string the string
* @param $match the expression based on the class definition off a PCRE regular expression.
* the ‘[‘, ‘]’, ‘\’ and ‘^’ at class start need to be escaped.
* like : -a-z0-9_@.
*/
function str_match ( $str , $match )
<
$return = » ;
if( eregi ( ‘(.*)’ , $match , $class ) )
<
$match = ‘[‘ . $regs [ 1 ]. ‘]’ ;
for( $i = 0 ; $i strlen ( $str ); $i ++ )
if( ereg ( ‘[‘ . $class [ 1 ]. ‘]’ , $str [ $i ] ) )
$return .= $str < $i >;
return $return ;
>
else return false ;
>

/*
* example
* accept only alphanum caracteres from the GET/POST parameters ‘a’
*/

if( ! empty( $_REQUEST [ ‘a’ ]) )
$_REQUEST [ ‘a’ ] = str_match ( $_REQUEST [ ‘a’ ], ‘a-zA-Z0-9’ );
else
$_REQUEST [ ‘a’ ] = ‘default’ ;
?>

Here’s a simpler «simplest» way to toggle through a set of 1..n colors for web backgrounds:

= array( ‘#000000’ , ‘#808080’ , ‘#A0A0A0’ , ‘#FFFFFF’ );

// Get a colour
$color = next ( $colors ) or $color = reset ( $colors );
?>

The code doesn’t need to know anything about the number of elements being cycled through. That way you won’t have to tracking down all the code when changing the number of colors or the color values.

I was looking for a function to find the common substring in 2 different strings. I tried both the mb_string_intersect and string_intersect functions listed here but didn’t work for me. I found the algorithm at http://en.wikibooks.org/wiki/Algorithm_implementation/Strings/Longest_common_substring#PHP so here I post you the function

/**
* Finds the matching string between 2 strings
*
* @param string $string1
* @param string $string2
* @param number $minChars
*
* @return NULL|string
*
* @link http://en.wikibooks.org/wiki/Algorithm_implementation/Strings/Longest_common_substring#PHP
*/
function string_intersect ( $string_1 , $string_2 )
<
$string_1_length = strlen ( $string_1 );
$string_2_length = strlen ( $string_2 );
$return = «» ;

if ( $string_1_length === 0 || $string_2_length === 0 ) <
// No similarities
return $return ;
>

// Initialize the CSL array to assume there are no similarities
for ( $i = 0 ; $i $string_1_length ; $i ++) <
$longest_common_subsequence [ $i ] = array();
for ( $j = 0 ; $j $string_2_length ; $j ++) <
$longest_common_subsequence [ $i ][ $j ] = 0 ;
>
>

for ( $i = 0 ; $i $string_1_length ; $i ++) <
for ( $j = 0 ; $j $string_2_length ; $j ++) <
// Check every combination of characters
if ( $string_1 [ $i ] === $string_2 [ $j ]) <
// These are the same in both strings
if ( $i === 0 || $j === 0 ) <
// It’s the first character, so it’s clearly only 1 character long
$longest_common_subsequence [ $i ][ $j ] = 1 ;
> else <
// It’s one character longer than the string from the previous character
$longest_common_subsequence [ $i ][ $j ] = $longest_common_subsequence [ $i — 1 ][ $j — 1 ] + 1 ;
>

Читайте также:  Сравнение дробей 5 класс изучение нового материала

if ( $longest_common_subsequence [ $i ][ $j ] > $largest_size ) <
// Remember this as the largest
$largest_size = $longest_common_subsequence [ $i ][ $j ];
// Wipe any previous results
$return = «» ;
// And then fall through to remember this new value
>

if ( $longest_common_subsequence [ $i ][ $j ] === $largest_size ) <
// Remember the largest string(s)
$return = substr ( $string_1 , $i — $largest_size + 1 , $largest_size );
>
>
// Else, $CSL should be set to 0, which it was already initialized to
>
>

// Return the list of matches
return $return ;
>

Here’s an easier way to find nth.

there is is no need to check if the user has entered a non-integer as we may be using this function for expressing variables as well eg. ith value of x , nth root of z ,etc.

If you want a function to return all text in a string up to the Nth occurrence of a substring, try the below function.

Works in PHP >= 5.

(Pommef provided another sample function for this purpose below, but I believe it is incorrect.)

// Returns all of $haystack up to (but excluding) the $n_occurrence occurrence of $needle. Therefore:
// If there are = $n_occurrence occurrences of $needle in $haystack, the returned string will end before the $n_occurrence’th needle.
// This function only makes sense for $n_occurrence >= 1
function nsubstr ( $needle , $haystack , $n_occurrence )
<
// After exploding by $needle, every entry in $arr except (possibly) part of the last entry should have its content returned.
$arr = explode ( $needle , $haystack , $n_occurrence );
// Examine last entry in $arr. If it contains $needle, cut out all text except for the text before $needle.
$last = count ( $arr ) — 1 ;
$pos_in_last = strpos ( $arr [ $last ], $needle );

if ( $pos_in_last !== false )
$arr [ $last ] = substr ( $arr [ $last ], 0 , $pos_in_last );

return implode ( $needle , $arr );
>

print ‘S: ‘ . $string . ‘
‘ ;
print ‘1: ‘ . nsubstr ( ’24’ , $string , 1 ) . ‘
‘ ;
print ‘2: ‘ . nsubstr ( ’24’ , $string , 2 ) . ‘
‘ ;
print ‘3: ‘ . nsubstr ( ’24’ , $string , 3 ) . ‘
‘ ;
print ‘4: ‘ . nsubstr ( ’24’ , $string , 4 ) . ‘
‘ ;
print ‘5: ‘ . nsubstr ( ’24’ , $string , 5 ) . ‘
‘ ;
print ‘6: ‘ . nsubstr ( ’24’ , $string , 6 ) . ‘
‘ ;
print ‘7: ‘ . nsubstr ( ’24’ , $string , 7 ) . ‘
‘ ;

/*
// prints:
S: d24jkdslgjldk2424jgklsjg24jskgldjk24
1: d
2: d24jkdslgjldk
3: d24jkdslgjldk24
4: d24jkdslgjldk2424jgklsjg
5: d24jkdslgjldk2424jgklsjg24jskgldjk
6: d24jkdslgjldk2424jgklsjg24jskgldjk24
7: d24jkdslgjldk2424jgklsjg24jskgldjk24
*/

?>

Note that this function can be combined with wordwrap() to accomplish a routine but fairly difficult web design goal, namely, limiting inline HTML text to a certain number of lines. wordwrap() can break your string using
, and then you can use this function to only return text up to the N’th
.

You will still have to make a conservative guess of the max number of characters per line with wordwrap(), but you can be more precise than if you were simply truncating a multiple-line string with substr().

= ‘Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque id massa. Duis sollicitudin ipsum vel diam. Aliquam pulvinar sagittis felis. Nullam hendrerit semper elit. Donec convallis mollis risus. Cras blandit mollis turpis. Vivamus facilisis, sapien at tincidunt accumsan, arcu dolor suscipit sem, tristique convallis ante ante id diam. Curabitur mollis, lacus vel gravida accumsan, enim quam condimentum est, vitae rutrum neque magna ac enim.’ ;

$wrapped_text = wordwrap ( $text , 100 , ‘
‘ , true );

$three_lines = nsubstr ( ‘
‘ , $wrapped_text , 3 );

$four_lines = nsubstr ( ‘
‘ , $wrapped_text , 4 );

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque id massa. Duis sollicitudin
ipsum vel diam. Aliquam pulvinar sagittis felis. Nullam hendrerit semper elit. Donec convallis
mollis risus. Cras blandit mollis turpis. Vivamus facilisis, sapien at tincidunt accumsan, arcu

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque id massa. Duis sollicitudin
ipsum vel diam. Aliquam pulvinar sagittis felis. Nullam hendrerit semper elit. Donec convallis
mollis risus. Cras blandit mollis turpis. Vivamus facilisis, sapien at tincidunt accumsan, arcu
dolor suscipit sem, tristique convallis ante ante id diam. Curabitur mollis, lacus vel gravida

Источник