Buenas, llevo todo el día peleándome y no le veo sentido.
Tengo un array bidimensional, creado con este código:
Código PHP:
Ver original $projecte[$i]['prj'] = $p11['proyecto'];
$projecte[$i]['hores'] = 0;
$i++;
}
Si hago var_dump de este array obtengo lo siguiente y es correcto:
ÍNDICE PRJ HORAS
0 0000-00 0
1 7122-16 0
2 7176-17 0
3 7181-17 0
4 7182-17 0
5 7183-17 0
6 7191-17 0
7 7192-18 0
8 7193-18 0
9 7194-18 0
10 7195-18 0
11 7196-18 0
12 7197-18 0
13 7198-18 0
14 7199-18 0
15 7200-18 0
16 7203-18 0
17 7204-18 0
18 9999-99 0
19 R1538 0
20 R1572 0
21 R1574 0
22 R1575 0
23 R1581 0
24 R1583 0
25 R1587 0
26 R1591 0
27 R1602 0
28 RP0016 0
29 RP0020 0
A partir de ahora leo la base de datos para ir alimentando el segundo elemento:
Código PHP:
Ver original $trobat = false;
$indx = tornaIndex($b1['proyecto'], $projecte);
$projecte[$indx]['hores'] += tornaExtres($b1['dia'],$b1['horaInici'], $b1['horaFinal']);
}
// $proyecto: es el valor que busco, por ejemplo 9999-99
// $projecte: es el array
function tornaIndex($proyecto, $projecte) {
foreach ($projecte as $key => $row) {
foreach($row as $prj) {
if ($prj == $proyecto) {
return $key;
}
}
}
return -1;
}
La función tornaIndex me devuelve el índice para poder sumar las horas. Pues el problema está aquí, esta función funciona para todos los elementos a excepción de los que empiezan por R. Por ejemplo: si proyecto = 7200-18, devuelve el 15, pero para R1591 no devuelve nada, no sé porqué no lo encuentra.
Alguien sabría dirme por qué?
Muchas gracias