Php 无法将标量值用作数组,我做错了什么?
这是我的代码,正如你所看到的,我有3或4个数组,代码运行良好,但是我得到了这个错误,不能使用标量值作为数组,我不知道为什么,我已经在谷歌搜索了,但我不知道我做错了什么。。有什么想法吗?我也尝试过排序,但它不起作用,我已经阅读了php手册,但我不明白我做错了什么Php 无法将标量值用作数组,我做错了什么?,php,Php,这是我的代码,正如你所看到的,我有3或4个数组,代码运行良好,但是我得到了这个错误,不能使用标量值作为数组,我不知道为什么,我已经在谷歌搜索了,但我不知道我做错了什么。。有什么想法吗?我也尝试过排序,但它不起作用,我已经阅读了php手册,但我不明白我做错了什么 谢谢。我认为您的问题在于此代码。 在foreach$文件中使用$clave作为$clave=>$partido{line,每次循环时都会销毁并重新创建$clave作为标量变量 然后在第10行foreach$file中再次使用它作为$cla
谢谢。我认为您的问题在于此代码。 在foreach$文件中使用$clave作为$clave=>$partido{line,每次循环时都会销毁并重新创建$clave作为标量变量 然后在第10行foreach$file中再次使用它作为$clave=>$partido{并再次销毁它
<?php
$file = file("lliga.txt");
/*Convertir en un array de arrays */
$clave = array();
foreach($file as $clave => $partido){
$file[$clave] = explode(",",$partido);
}
/*Crear el array $clasificacion*/
foreach($file as $clave => $partido){
$equipoLocal = $partido[$clave][0];
$equipoVisitante = $partido[$clave][1];
$golesEquipoLocal = $partido[$clave][2];
$golesEquipoVisitante = $partido[$clave][3];
//Solo si no existe el equipo Local lo inicilizo todo a 0
//array_key_exists
if (array_key_exists($equipoLocal, $partido)) {
$clave[$equipoLocal]['PG'] = 0;
$clave[$equipoLocal]['PP'] = 0;
$clave[$equipoLocal]['PE'] = 0;
$clave[$equipoLocal]['P'] = 0;
$clave[$equipoLocal]['GF'] = 0;
$clave[$equipoLocal]['GC'] = 0;
}
if (array_key_exists($equipoVisitante,$partido)){
$clave[$equipoVisitante]['PG'] = 0;
$clave[$equipoVisitante]['PP'] = 0;
$clave[$equipoVisitante]['PE'] = 0;
$clave[$equipoVisitante]['P'] = 0;
$clave[$equipoVisitante]['GF'] = 0;
$clave[$equipoVisitante]['GC'] = 0;
}
//Solo si no existe el equipo Visitante lo inicilizo todo a 0
//Empiezas a mirar a resultados
if ($golesEquipoLocal > $golesEquipoVisitante){
$clave[$equipoLocal]['PG']++;
$clave[$equipoLocal]['P']++;
$clave[$equipoLocal]['GF']++;
}
if ($golesEquipoLocal == $golesEquipoVisitante){
$clave[$equipoLocal]['PE']++;
$clave[$equipoLocal]['GF']++;
$clave[$equipoLocal]['P'] = $clave[$equipoLocal]['P'] +1;
$clave[$equipoLocal]['GC']++;
$clave[$equipoVisitante]['PE']++;
$clave[$equipoVisitante]['GF']++;
$clave[$equipoVisitante]['GC']++;
$clave[$equipoVisitante]['P']= $clave[$equipoVisitante]['P']+1;
}
if ($golesEquipoLocal < $golesEquipoVisitante){
$clave[$equipoVisitante]['PG']++;
$clave[$equipoVisitante]['P']++;
$clave[$equipoVisitante]['GF']++;
$classi = fopen("classi.txt", "a");
$fp = $equipoVisitante;
fwrite($classi, $fp);
fwrite($classi, $fp);
fclose($classi);
}
$paco=[];
array_multisort($partido, SORT_ASC, $paco);
print_r($partido);
}
?>
举个例子吧
$file = file("lliga.txt");
/*Convertir en un array de arrays */
$clave = array();
foreach($file as $clave => $partido){
$file[$clave] = explode(",",$partido);
}
/*Crear el array $clasificacion*/
foreach($file as $clave => $partido){
或者,由于$key将只是0,1,2,3,…您可以稍微简化
$file = file("lliga.txt");
$clave = array();
foreach($file as $key => $partido){
$clave[$key] = explode(",",$partido);
}
/*Crear el array $clasificacion*/
foreach($clave as $partido){
或者,由于输入似乎是一个以换行符结尾的逗号分隔值文件,您也可以从阅读
请始终向我们显示所有错误信息,而不是摘要。然后,如果可能的话,请指出错误消息中的行号所指示的代码行。良好的代码缩进将帮助我们阅读代码,更重要的是,它将帮助您为自己的利益调试代码。您可能会被要求在f中修改此代码几周/几个月后,您将在最后感谢我。警告:不能在C:\xampp\htdocs\php\index.php的第55行使用标量值作为数组,如果您运行此代码,您将在每一行中看到更多此错误。如果没有文本文件lliga.TXT,我们无法运行此代码。那么我应该上载此文件吗?为什么我退出clave以获取密钥?这不就是d吗删除我在clave中得到的所有信息?不,在foreach$文件中使用$clave作为$clave=>$partido{line在循环中每次销毁并重新创建$clave作为标量变量:我明白了,我这样做了,但在其他通道中仍会出现相同的错误,而且更改此值后打印将停止工作。好的,请给我一个输入文件的示例,仅3或4行就发现第二个foreach再次销毁$clave我拒绝了我的回答
$file = file("lliga.txt");
$clave = array();
foreach($file as $partido){
$clave[] = explode(",",$partido);
}
/*Crear el array $clasificacion*/
foreach($clave as $partido){