iT邦幫忙

1

php 在變數放置 function 的方式?

js 可以這樣做

let abc = '123'
let ccc = '456'
`${abc}${ccc}`

output "123456"

我知道 php 可以這樣

$abc = '123';
$ccc = '456';

echo "$abc $ccc"

output "123 456"

想問若是想在裡面加上一個 func 呢?
假設 func 為 pagination
我可以這樣做

$abc = '123';
$index = pagination($pageNum, $pageSize);

echo "$abc $index"

如果要省略 $index = ... 這一行
就可以

echo "$abc " . pagination($pageNum, $pageSize);

1.有更乾淨的方式嗎?
2.有其他類似的小撇步嗎?
感恩各位大大哦!

fillano iT邦超人 1 級 ‧ 2020-08-13 16:51:25 檢舉
https://stackoverflow.com/questions/10002652/in-php-how-to-call-function-in-string
sprintf 也可以用
但總體來講要看你所謂的乾淨是指什麼。
WQ iT邦新手 2 級 ‧ 2020-08-14 13:21:40 檢舉
把Function回傳的值設在"全域變數"...........(但...不太建議)...
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2
japhenchen
iT邦超人 1 級 ‧ 2020-08-14 10:14:21
最佳解答

PHP Variable Interpolation 字串內變數插補

$abc = '123';
$index = pagination($pageNum, $pageSize);
echo "{$abc} {$index}";

$abc = '123';
echo "{$abc} {pagination($pageNum, $pageSize)}";
看更多先前的回應...收起先前的回應...

字串插補變數很多語言都有在用,包括javascript

var arr = ["11111","22222","3333"];


tablestr = "<table style='border:1px solid black;'>";
arr.forEach(function(i,v){
    tablestr += `<tr><td>${i}</td></tr>`;
});
tablestr += "</table>";


document.write(tablestr);

https://jsfiddle.net/yL6vcmd1/

關鍵是javascript的字串變數插補的方法要用跟毛毛蟲~在一起的那個斜單引號,還有變數前後要加的${ }

這樣就不用一堆 + 跟一堆 . 搞的畫面雜亂無章.....

python

name = 'world' 
program ='python'
print(‘Hello %(name)s! This is %(program)s.’%(name,program))

c#

var a = "world";
var b = "hello";

MessageBox.Show($"{b} {a}");
火爆浪子 iT邦研究生 1 級 ‧ 2020-08-19 17:54:31 檢舉

沒錯,「點」看起來很礙眼

問題就是像javascript 跟python 這些沒有要求變數型別的

var a=1;
var b="2";
var c=a+b;

c 會是什麼? "12" ? 3 ? 能用肉眼判斷?還是直背規則?

我要發表回答

立即登入回答