2016-03-21 2 views
1

Простая вещь, но я не могу ее решить самостоятельно.Заменить переменную в выражении PHP с ее значением

Я пытаюсь извлечь часть строки с помощью SUBSTR:

$Text=substr($FullText, 0, 6);

Где $ FullText является Название переменной, содержащей строку.

Я думаю, что substr не любит переменную и нуждается в строке в квотах.

Мой вопрос в том, как я могу заменить переменную в выражении PHP своим значением?

спасибо, что заблаговременно!

+2

'substr' любит переменные. Пожалуйста, добавьте конкретный пример, чтобы получить полезную помощь. – fusion3k

+0

Что именно вы пытаетесь вывести? И каков ваш вклад. Просьба прояснить их в первую очередь. –

+0

Просьба указать конкретный пример ..... что такое значение '$ FullText'? Что вы ожидаете? Что вы получаете? [Demo] (https://3v4l.org/0tn56) –

ответ

0
$text=substr($fulltext, 0, 6); 

он будет работать, функция Substr получает строку в двойных кавычках или вы можете вставить в нее переменную php. Попробуйте повторить это, он будет работать в соответствии с требованиями

+0

Это не работает, к сожалению ... он работает, если я пишу что-то вроде: '$ text = substr (" abcdefgh ", 0, 6);' он вернет abcdef, но когда я использую переменную, она не работает – Rat2good

+0

@ Rat2good Что вы имеете в виду, не работая? Каков результат? – frosty

+0

нет вывода, когда я повторяю $ text; – Rat2good

0

Вы вывесили этот фрагмент кода в комментарии к вопросу:

$FullText=$ExchangePart->Item(5)->nodeValue; 
//actual value of the variable is: "1.6598 6.479460 5.4545" 
$Text=substr($FullText, 0, 6); 
//$Text=$ExchangePart->Item(5)->nodeValue; 
echo $Text; 

Похоже, что вы обращаетесь XML здесь. Класс SimpleXMLElement (тип объектов, созданных simplexml_*() functions) - это зверь с множеством лиц. Если вы попытаетесь:

echo($ExchangePart->Item(5)->nodeValue); 

или

print_r($ExchangePart->Item(5)->nodeValue); 

она представлена ​​в виде строки, но, на самом деле, это также SimpleXMLElement объект.

Решение вопроса очень проста: вы должны explicitly convert значение, которое вы хотите строку:

$FullText = (string)$ExchangePart->Item(5)->nodeValue; 

Теперь значение $FullText является строкой; вы можете безопасно передать его любой функции обработки строк, и она будет работать, как описано в документации.