[英]Cannot use a scalar value as an array, what i'm doing wrong?
<?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);
}
?>
這是我的代碼,如您所見,我有 3 或 4 個 arrays,代碼工作正常,但是我收到此錯誤Cannot use a scalar value as an array
,我不知道為什么,我已經在谷歌搜索但我不要明白我做錯了什么..有什么想法嗎? 我也已經嘗試過排序,但它不起作用,我已經閱讀了 php 手冊,但我不明白我做錯了什么。
謝謝。
我認為您的問題出在此代碼中。 在foreach($file as $clave => $partido){
行中使用$clave
clave 每次循環都會破壞然后重新創建$clave
作為 SCALAR 變量。
然后在第 10 行foreach($file as $clave => $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){
所以試試這個例如
$file = file("lliga.txt");
$clave = array();
foreach($file as $key => $partido){
$clave[$key] = explode(",",$partido);
}
/*Crear el array $clasificacion*/
foreach($clave as $partido){
或者因為 $key 將只是 0,1,2,3,......你可以稍微簡化一下
$file = file("lliga.txt");
$clave = array();
foreach($file as $partido){
$clave[] = explode(",",$partido);
}
/*Crear el array $clasificacion*/
foreach($clave as $partido){
或者,由於輸入似乎是換行符終止的文件,逗號分隔值,您也可以從閱讀
fgetcsv()
中受益
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.