PHP致命错误:无法将stdClass类型的对象用作数组
我需要下面的帮助,我知道它是在过去提出的,但我目前正在努力找出它的错误不能使用类型stdClass的对象作为数组在线PHP致命错误:无法将stdClass类型的对象用作数组,php,arrays,json,object,Php,Arrays,Json,Object,我需要下面的帮助,我知道它是在过去提出的,但我目前正在努力找出它的错误不能使用类型stdClass的对象作为数组在线 $score[$counter] = ($bronze * $tempArray[6]) + ($silver * $tempArray[5]) + ($silver * $tempArray[4]); 代码: mysqli\u fetch\u对象返回一个对象 因此在$row=mysqli\u fetch\u object($result)行之后,是一个对象 如果需要数组,请使
$score[$counter] = ($bronze * $tempArray[6]) + ($silver * $tempArray[5]) + ($silver * $tempArray[4]);
代码:
mysqli\u fetch\u对象
返回一个对象
因此在$row=mysqli\u fetch\u object($result)行之后,
是一个对象
如果需要数组,请使用mysqli\u fetch\u数组
在使用该数组之前,使用
var\u dump($row)检查其内容代码>(以防止进一步的问题)。mysqli\u fetch\u object
返回一个对象
因此在$row=mysqli\u fetch\u object($result)行之后,
是一个对象
如果需要数组,请使用mysqli\u fetch\u数组
在使用该数组之前,使用
var\u dump($row)检查其内容
(以防止进一步的问题)。看看您是如何声明的$score
首先执行$scorex=array($row\u cnt)
然后$score=(对象)$scorex代码>
因此,$score
被投射到一个对象。但是,在代码中,您仍然像数组一样对其进行寻址,即$score[$counter]
。您应该将其作为对象引用
编辑
或者,将$score
的定义更新为以下内容:
$score = array_fill (0, $row_cnt, 0);
这样,您对$score[$counter]
的赋值仍然有效(我认为是按照您的预期方式)。看看您是如何声明$score
的
首先执行$scorex=array($row\u cnt)
然后$score=(对象)$scorex代码>
因此,$score
被投射到一个对象。但是,在代码中,您仍然像数组一样对其进行寻址,即$score[$counter]
。您应该将其作为对象引用
编辑
或者,将$score
的定义更新为以下内容:
$score = array_fill (0, $row_cnt, 0);
这样,您分配给$score[$counter]
的作业仍然有效(我认为是按照您预期的方式)。为什么不包括这一行?下面是我在$score[$counter]=($brown*$tempArray[6])+($silver*$tempArray[5])+($silver*$tempArray[4])上遇到错误的那一行;为什么不包括这一行?我在下面做的是我在$score[$counter]=($brown*$tempArray[6])+($silver*$tempArray[5])+($silver*$tempArray[4])上遇到错误的那一行;我按照建议修改$score[$counter]=($brown*$tempArray->brown)+($silver*$tempArray->silver)+($silver*$tempArray->gold);但是仍然得到相同的错误我不能使用mysql\u fetch\u object,我必须使用mysqli\u fetch\u object或$result->fetch\u object(),但是在两者都得到相同的错误时,看看您是如何声明$score
的。首先执行$scorex=array($row\u cnt)
然后$score=(对象)$scorex代码>。因此,$score
被投射到一个对象。但是,在代码中,您仍然像数组一样对其进行寻址,即$score[$counter]
。这也需要改变。mysql_fetch_obj已被弃用,所有mysql_函数都已弃用-mysqli_fetch_obj未被弃用。@ryan…谢谢你的回复,但你介意告诉我们如何更改它以使其工作吗?我按照建议修改$score[$counter]=($brown*$tempArray->brown)+($silver*$tempArray->silver)+($silver*$tempArray->gold);但是仍然得到相同的错误我不能使用mysql\u fetch\u object,我必须使用mysqli\u fetch\u object或$result->fetch\u object(),但是在两者都得到相同的错误时,看看您是如何声明$score
的。首先执行$scorex=array($row\u cnt)
然后$score=(对象)$scorex代码>。因此,$score
被投射到一个对象。但是,在代码中,您仍然像数组一样对其进行寻址,即$score[$counter]
。这也需要改变。mysql_fetch_obj已被弃用,所有mysql_函数都已弃用-mysqli_fetch_obj未被弃用。@ryan…感谢您的回复,但您介意告诉我们如何更改它以使其正常工作吗