gpt4 book ai didi

javascript - 为什么反序列化后数组后面有文本 "1"

转载 作者:行者123 更新时间:2023-11-28 18:03:53 25 4
gpt4 key购买 nike

抱歉我之前的英语不好。我想问为什么从我的数据库反序列化后,数组后面有一个文本“1”。详情请看图片:

my database (the data is serialized)

output of after unserialize

<div class="form-group">
<label class="control-label col-md-3">Dokumen Pendukung:</label>
<div class="col-md-4">
<p class="form-control-static"> <?php echo print_r(unserialize($supportDocument)); ?> </p>
</div>
</div>

我必须尝试检查我的代码,没有可疑代码。请帮助我..谢谢。

public function addProposal($DocumentSupport) {
try {

$stmt = $this->connect->prepare("INSERT INTO tbl_proposal(supportDocument)VALUES(:supportDocument)");



$stmt->bindParam(":supportDocument", serialize($DocumentSupport));


$stmt->execute();
return $stmt;

} catch (PDOException $e) {
echo "Error " . $e->getMessage();
}
}

最佳答案

您正在打印 print_r() 的返回值:

echo print_r(unserialize($supportDocument));

并且,如文档所述,它返回 true:

When the return parameter is TRUE, this function will return a string. Otherwise, the return value is TRUE.

...其中,当 converted to string ,打印为 1:

A boolean TRUE value is converted to the string "1". Boolean FALSE is converted to "" (the empty string). This allows conversion back and forth between boolean and string values.

您应该摆脱 echo :

print_r(unserialize($supportDocument));

您还可以切换到var_dump() ,它会产生更精确的输出(例如,它不会将 bool 值转换为空字符串):

var_dump(unserialize($supportDocument));

关于javascript - 为什么反序列化后数组后面有文本 "1",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43043340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com