簡體   English   中英

如何將字符串附加到對象屬性?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM