Php 如何将字符串附加到对象属性?
我正在尝试向我的前端发送回复,回复内容为客户计费周期内的天数。我查询这个号码,但想在后面加上Php 如何将字符串附加到对象属性?,php,Php,我正在尝试向我的前端发送回复,回复内容为客户计费周期内的天数。我查询这个号码,但想在后面加上“天”。到目前为止,我已经: <?php require "../../inc/dbinfo.inc"; $projectnum =$_POST['projectnum']; $sql = $conn->prepare("SELECT (SELECT TermsofPayment FROM tblCustomers WHERE CUSTOMERID = ProjectCustomer) A
“天”
。到目前为止,我已经:
<?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天}
您遇到了两个问题:
首先,您想将一个变量连接到另一个变量,但语法错误
$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\u assoc()
的返回),而不是一个对象。
因此,将其视为一个数组,它应该可以工作:
$obj['NetTerms'] = $obj['NetTerms'] . $addon;
你有两个问题: 首先,您想将一个变量连接到另一个变量,但语法错误
$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\u assoc()
的返回),而不是一个对象。
因此,将其视为一个数组,它应该可以工作:
$obj['NetTerms'] = $obj['NetTerms'] . $addon;
您正在尝试访问名为
NetTermsDays
的属性。您可能只需要$obj->NetTerms$加载项
?看起来,$addOn
实际上是空的,即使您显示它是在第一个代码块中定义的。否则,我认为您会将$obj->NetTerms
设置为null,因为$obj{'NetTerms Days'}
不存在。难道fetch_assoc()
不返回数组而不是对象吗??所以它将是$obj['NetTerms']。=$addon代码>或$obj['NetTerms']=$obj['NetTerms']$插件@Jordan的代码>旁注:请不要更改评论信息中问题的关键代码部分。现在90%的评论不再有意义了。下次请确保您启用了error\u reporting()!您正在尝试访问名为NetTermsDays
的属性。您可能只需要$obj->NetTerms$加载项
?看起来,$addOn
实际上是空的,即使您显示它是在第一个代码块中定义的。否则,我认为您会将$obj->NetTerms
设置为null,因为$obj{'NetTerms Days'}
不存在。难道fetch_assoc()
不返回数组而不是对象吗??所以它将是$obj['NetTerms']。=$addon代码>或$obj['NetTerms']=$obj['NetTerms']$插件@Jordan的代码>旁注:请不要更改评论信息中问题的关键代码部分。现在90%的评论不再有意义了。下次请确保您启用了error\u reporting()!