function update_user_voted($array,$userid=NULL)
{
global $db;
//$voted = array();
if(!$userid)
$userid = userid();
if(phpversion < '5.2.0')
{
global $json;
$js = $json;
}
if(is_array($array))
{
$votedDetails = $db->select(tbl("users"),"voted"," userid = '$userid'");
if(!empty($votedDetails))
if(!empty($js))
$voted = $js->json_decode($votedDetails[0]['voted'],TRUE);
else
$voted = json_decode($votedDetails[0]['voted'],TRUE);
//$votedArray = $voted;
$voted[] = $array;
if(!empty($js))
$votedEncode = $js->json_encode($voted);
else
$votedEncode = json_encode($voted);
if(!empty($votedEncode))
$db->update(tbl("users"),array("voted"),array("|no_mc|$votedEncode")," userid='$userid'");
}
}
当我使用这个功能时,它完全有效,但它只是显示了这个错误:
警告:无法在 /mydirectory/thisfilecontainingthiscode.php 上使用标量值作为数组 5160 ({{1} }})。
也说这个错误是新的,我从来没有遇到过这个功能的问题。它用在clip-bucket脚本中。
答案 0 :(得分:2)
在增加索引之前,您必须将 $ voted 声明为数组。你试图用一个复杂的结构将一个新元素推送到数组(也可能是一个标量值),如果json数据返回一个标量,你应该无法使用 $ voted [] 强>
$ voted = array();