[Php-it] Array multidimensionali
Jonathan Stoppani
jonathan at garetjax.info
Fri Jun 1 00:24:54 CEST 2007
On Jun 1, 2007, at 12:05 , Andrea Ambu wrote:
> foreach($s2 as $k => $v)
> {
> $i = $k + $c;
> $i = $i . ''; // [1]
> $a[$i] = $i;
> $b = $a[$i]; // [2]
> $b['start'] = intval(intval($a[$k]['start']) +
> intval($v['start'])) . ''; // [3]
> echo $a[$k]['start'] . "+" . $v['start'] . "=" . $b
> ['start']
> . "\n";
> $b['end'] = $v['end'];
> $b['txt'] = $v['txt'];
> $a[$i] = $b;
> }
>
>
> Come mai se sia $a[$k]['start'] che $v['start'] vengono letti
> correttamente
> a $b['start'] viene assegnata la somma dei soli primi due numeri?
> un esempio di stampa e':
> 3278940+3720220=6
> 3280530+3722310=7
Non vedo la somma dei primi due numeri
> fa lo stesso anche con la stringa $v['txt'] e tutti gli altri
> campi... cosa
> sbaglio? son sicuro che e' una niubbata pero' non capisco che
> sbaglio...
>
> Grazie per gli eventuali aiuti ;)
Non l'ho studiato tanto, è mezzanotte (-.-), comunque ci sono 3 cose
che sicuramente non servono (anche se lo script dovrebbe funzionare
ugualmente):
1: A cosa ti serve la conversione dell'intero in stringa?
2: Non è meglio un $b = $i?
3a: E qui viene il bello... $i è un intero, convertito implicitamente
in stringa che assegni a $a[$i]. Questo valore poi lo assegni a $b
che diventa quindi una stringa. Come fai dopo a fare $b['start'], e
quindi trattare l'intero (che è una stringa) come un array associativo?
3b: A cosa servono tutti quegli intval? Sicuramente quello più
esterno è inutile.
Credo che il problema risieda proprio in 3a... guardati un po' meglio
i tipi e come php tratta le operazioni e conversioni tra tipi diversi
(sopratutto tra scalari e non)
--
Best regards,
Jonathan Stoppani ~ http://garetjax.info/blog
More information about the Php-it
mailing list