[英]How can I append a string to an object property?
我正在嘗試將客戶計費期內的天數發送回前端。 我查詢此號碼,但要在其后附加" Days"
。 到目前為止,我有:
<?php
require "../../inc/dbinfo.inc";
$projectnum =$_POST['projectnum'];
$sql = $conn->prepare("SELECT (SELECT TermsofPayment FROM tblCustomers WHERE CUSTOMERID = ProjectCustomer) AS NetTerms FROM tblProjects WHERE PROJECTNOID = ?");
if($sql){
$sql->bind_param("i", $projectnum);
$sql->execute();
$hold = $sql->get_result();
$obj = $hold->fetch_assoc();
$addOn = " Days";
$obj->NetTerms = $obj->{'NetTerms'. $addOn};
echo json_encode($obj);
}
$sql->close();
exit();
?>
經過反復試驗,似乎倒數第二行對結果沒有影響。 我瀏覽了整個網絡,沒有找到任何解決方案(也許我的搜索中沒有正確的關鍵字)。
當前響應: {"NetTerms":30}
期望的響應: {"NetTerms":30 Days}
您在那里有兩個問題:
首先,您想將一個變量連接到另一個變量,並且語法錯誤。
$addOn = " Days";
$obj->NetTerms = $obj->{'NetTerms' .$addOn};
// this would try to get a value of `$obj->NetTerms Days`, which doesn't exist.
本來應該
$obj->NetTerms = $obj->NetTerms . $addOn;
// or
$obj->NetTerms .= $addOn;
所有這些都引發了錯誤,因為$obj
是一個數組(從fetch_assoc()
返回),而不是一個對象。 因此,將其視為一個數組,它應該可以工作:
$obj['NetTerms'] = $obj['NetTerms'] . $addon;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.