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