A non well formed numeric value encountered

thenax

Nuovo Utente
8 Apr 2007
17
0
0
nel mio sito con la versione php 5.2.17 il server mi dà l'errore in oggetto in corrispondenza della riga "$date = ..."


PHP:
foreach($timestamps as $item)
		{
			$date = date("j/m/Y, G:i", $item);
			$counter ++;
a cosa è dovuto? come risolvo?

grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
se l'errore è quello che metti nel titolo, vuol dire che la variabile $item non è un numero intero.
con molta probabilità l'errore nasce a monte del foreach.
verifica che l'array $timestamps contenga solo numeri interi
prima del foreach metti
var_dump($timestamps);
e posta cosa riporta
 

thenax

Nuovo Utente
8 Apr 2007
17
0
0
ciao
se l'errore è quello che metti nel titolo, vuol dire che la variabile $item non è un numero intero.
con molta probabilità l'errore nasce a monte del foreach.
verifica che l'array $timestamps contenga solo numeri interi
prima del foreach metti
var_dump($timestamps);
e posta cosa riporta
ecco il risultato
array(11) { [0]=> int(1323273598) [1]=> int(1332879798) [2]=> int(1323273336) [3]=> int(1324419158) [4]=> int(1322173280) [5]=> int(1326227999) [6]=> int(1323273371) [7]=> int(1323273422) [8]=> int(1328981269) [9]=> int(1322173245) [10]=> string(15) "1331762665.HIDE" }

è il ccmail nel file groups.php mella directory functions.

se non si puo' risolvere a me basterebbe che non mi venga segnalato nessun errore
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
l'array mi sembra giusto
forse una ca...ta, prova a mettere così

PHP:
foreach($timestamps as $ch => $item)
        {
            $date = date("j/m/Y, G:i", $item);
            $counter ++;
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
prova a vardumpare $item (commentando date)

PHP:
foreach($timestamps as $item) 
        { 
            var_dump($item);            
            //$date = date("j/m/Y, G:i", $item); 
            $counter ++;
 

thenax

Nuovo Utente
8 Apr 2007
17
0
0
ciao
prova a vardumpare $item (commentando date)

PHP:
foreach($timestamps as $item) 
        { 
            var_dump($item);            
            //$date = date("j/m/Y, G:i", $item); 
            $counter ++;

int(1323273598)
Notice: Undefined variable: date in /home//public_html/ccmail/functions/groups.php on line 67
int(1332879798)
Notice: Undefined variable: date in /home/public_html/ccmail/functions/groups.php on line 67
int(1323273336)
Notice: Undefined variable: date in /home/public_html/ccmail/functions/groups.php on line 67
int(1324419158)
Notice: Undefined variable: date in /home/public_html/ccmail/functions/groups.php on line 67
int(1322173280)
Notice: Undefined variable: date in /home/public_html/ccmail/functions/groups.php on line 67
int(1326227999)
Notice: Undefined variable: date in /home/public_html/ccmail/functions/groups.php on line 67
int(1323273371)
Notice: Undefined variable: date in /home/public_html/ccmail/functions/groups.php on line 67
int(1323273422)
Notice: Undefined variable: date in /home/public_html/ccmail/functions/groups.php on line 67
int(1328981269)
Notice: Undefined variable: date in /home/public_html/ccmail/functions/groups.php on line 67
int(1322173245)
Notice: Undefined variable: date in /home/public_html/ccmail/functions/groups.php on line 67
string(15) "1331762665.HIDE"
Notice: Undefined variable: date in /home/public_html/ccmail/functions/groups.php on line 67
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
immagino che l'undefinite sia riferito a $counter, vero?
poi ho notao una cosa che mi era sfuggita nel primo var dump
cosa è [10]=> string(15) "1331762665.HIDE" ?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
ho provato (togliendo l'HIDE)

PHP:
<?php
$timestamps=array(1323273598,1332879798,1323273336,1324419158,1322173280,1326227999,1323273371,1323273422,1328981269,1322173245,1331762665);
foreach($timestamps as $item){
	echo date("j/m/Y, G:i", $item)."<br>";
}
?>
e questo è l'output
7/12/2011, 16:59
27/03/2012, 22:23
7/12/2011, 16:55
20/12/2011, 23:12
24/11/2011, 23:21
10/01/2012, 21:39
7/12/2011, 16:56
7/12/2011, 16:57
11/02/2012, 18:27
24/11/2011, 23:20
14/03/2012, 23:04
verifica di non avere altre porcherie dentro l'arry