2016-08-09 11 views
0

Ich habe Fall, wo gibt es ein Timestamp-Datum enthält Datumsformat. Dann wollte ich ein Diagramm erstellen, die die Anzahl der zeigen Artikel „geklickt“ „pro Tag“,Neuen Schlüssel hinzufügen, Wert (Wert = 1) innerhalb Array in PHP

//array declaration 
$array1 = array("Date" => 0); 
$array2 = array("Date" => 0); 
$array3 = array("Date" => 0); 
$array4 = array("Date" => 0); 
$array5 = array("Date" => 0); 
$array6 = array("Date" => 0); 
$array7 = array("Date" => 0); 
$array8 = array("Date" => 0); 
//var_dump($array); 

foreach ($_sql as $result1) { 
    $timestamp = $result1['timestamp']; 
    $itemType = $result1['itemType']; 

    //separate the time and date 
    $explodeTime = explode(" ", $timestamp); 
    $date = $explodeTime[0]; 
    //$arrDate = array($date); 

    //var_dump($Date); 

    //if the item type is 1; 
    if($itemType == 1){ 



     //check the existence 
     if(array_key_exists($date,$array1)){ 

      //if exist increment the click by 1 

      foreach ($array1 as $key => $value) { 

       $array1[$key]=$value + 1; 


       //var_dump($array1); 


     }   
      } 


       //else add new record and set default value as 1 
       else{ 



        //echo "Insert new Key"; 

        //$array1 = array($date => 1); 
        //var_dump($array1); 


        //var_dump($array1); 
        //exit(); 


       } 
    } 

wollte ich meine Array mit diesem Format

array(1) { 
["2009-04-17"]=> 211 
int(1) 
} 
array(1) { 
["2009-04-18"]=> 1213 
int(1) 
} 
array(1) { 
["2009-04-19"]=> 1232 
int(1) 
} 
array(1) { 
["2009-04-20"]=> 32312 
int(1) 
} 

Ergebnis erhalten so kann ich den Wert von Datum erhalten, dann ist es leicht, die Daten in json zu konvertieren, dann in die Chartjs einzufügen.

Entschuldigung, wenn meine Frage nicht klar ist, weil ich gerade angefangen habe, PHP zu lernen.

+0

Was ist Ihr Problem? Gibt es eine Fehlermeldung? – vincenth

+0

Erhalten Sie zunächst Informationen aus einer Datenbank? – RamRaider

Antwort

1

Ich denke, das ist das, was Sie versuchen zu tun: genau

//array declaration 
$array = array(); 

foreach ($_sql as $result1) { 
    //separate the time and date 
    $dateTime = new DateTime($result1['timestamp']); 
    $date = $dateTime->format('Y-m-d'); 

    //if the item type is 1; 
    if (1 == $result1['itemType']) { 
     //check the existence 
     if (array_key_exists($date, $array)) { 
      //if exist increment the click by 1 
      $array[$date]++; 
     } else { 
      $array[$date] = 1; 
     } 
    } 
} 
+0

danke Mann, das, was ich suche –

0

Was genau brauchen Sie? Wenn Sie den Zeitstempel in Datum konvertieren müssen, verwenden Sie die Formatfunktion.

$timestamp=$result1['timestamp']; 
$timestamp=new DateTime($timestamp); 
$date=$timestamp->format("n.j.Y"); 
Verwandte Themen