我有一个问题:(我已经在google上搜索了它,但我找不到任何答案)。 是否有可能首先运行变量中的字符串? 例如:
<?php
function example($times) {
for($i = 4; $i < $times; $i++) echo $i;
}
$var = example(10);
echo "3$var";
?>
并且此代码打印:
4567893
答案 0 :(得分:3)
将结果作为变量收集在函数内并返回。
<?php
function example($times) {
$result='';
for($i=4;$i<$times;$i++) $result.=$i;
return $result;
}
$var=example(10);
echo "$var"."3";
其他方式,仅在您无法控制功能输出或具有多个html标记的情况下 是使用输出缓冲区捕获:
<?php
function example($times) {
for($i=4;$i<$times;$i++) echo $i;
}
ob_start();
example(10);
$var=ob_get_clean;
echo "$var".3;
的更多信息
答案 1 :(得分:0)
尝试:
function example($times) {
$str='';
for($i = 4; $i < $times; $i++)
$str .=$i;
return $str;
}
$var = example(10);
echo $var."3";
答案 2 :(得分:0)
您需要了解echo
和return
之间的区别。
您的函数example
将直接回显输出。 $var
的值为NULL
,不显示任何内容。
所以你所做的实际上与此相同:
echo 4; // in example()
echo 5; // in example()
echo 6; // in example()
echo 7; // in example()
echo 8; // in example()
echo 9; // in example()
echo "3"; // $var == '';
如果您想收集输出,请像这样写example
:
function example($times) {
$numberstring = '';
for($i = 4; $i < $times; $i++) {
$numberstring .= $i;
}
return $numberstring;
}