извлечение подстроки в соответствии с заданными начальной и конечной точками - PullRequest
0 голосов
/ 12 марта 2012

Я пытаюсь извлечь подстроку из строки gettting из базы данных mysql, используя substr функцию:

substr($mystring,$startpoint,$endpoint);

здесь начальной и конечной точкой может быть любое число.

Но я не получаю желаемого результата. Начальная точка работает, но что-то не так с конечной точкой.

Что такое разум?

Редактировать

, когда я начинаю и заканчиваю конечную точку, например 15 и 50, начальная точка работает нормально, поэтому результирующая строка начинается с 15-го символа основной строки. но конечная точка не работает, это дает мне конец и символ в результирующей строке не 50-й от основной строки.

Ответы [ 5 ]

3 голосов
/ 12 марта 2012

Я предполагаю, что вы перепутали конечную точку с длиной.Третий параметр substring() - это длина строки, то есть количество символов от начальной точки.Не индекс последнего символа.

<?php 
$str = "A short string";
echo substr($str, 2, 2); // Prints sh
echo substr($str, 2, 4); // Prints shor
?>

Если вы хотите указать конечную точку, вы можете рассчитать длину, вычтя начальную точку из вашей точки:

<?php
$startpoint = 2;
$endpoint = 5;
$str = "A short string";
echo substr($str, $startpoint, ($endpoint - $startpoint)); // Prints sho
?>
1 голос
/ 12 марта 2012

третий параметр предназначен для указания длины от начальной точки.

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

Попробуйте ниже, это будет работать.

substr($string,$startpoint,($endpoint-$startpoint));
0 голосов
/ 12 марта 2012

Вы должны вычесть $endpoint-$startpoint и передать его в качестве третьего параметра, чтобы получить желаемый результат.

как показано ниже:

substr($mystring,$startpoint,($endpoint-$startpoint));
0 голосов
/ 12 марта 2012

string substr (строка $ string, int $ start [, int $ length])

, что означает:

<?php 
$text = "foobar text";
$startpoint = 0;
$endpoint = $startpoint + strlen($text);
echo substr($text, $startpoint, $endpoint);
?>
0 голосов
/ 12 марта 2012
string substr ( string $string , int $start [, int $length ] )

длина , не конечная точка.

http://php.net/manual/en/function.substr.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...