Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP致命错误:无法将stdClass类型的对象用作数组_Php_Arrays_Json_Object - Fatal编程技术网

PHP致命错误:无法将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)行之后,是一个对象 如果需要数组,请使

我需要下面的帮助,我知道它是在过去提出的,但我目前正在努力找出它的错误不能使用类型stdClass的对象作为数组在线

$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…感谢您的回复,但您介意告诉我们如何更改它以使其正常工作吗