2016-08-06 48 views
0

Ich habe ein Array wie folgt aus:in Array

[▼ 
    0 => array:47 [▼ 
    "ProductID" => "37883" 
    "ProductCode" => "G-49211" 
    "ProductName" => "Preludes" 
    "StockStatus" => "2" 
    "LastModified" => "2014-02-27T09:50:00-08:00" 
    "LastModBy" => "1" 
    "ProductPopularity" => "110" 
    "AutoDropShip" => "N" 
    1 => [ 
    "ProductID" => "37884" 
    "ProductCode" => "G-49212" 
    "ProductName" => "Preludes " 
    "StockStatus" => "2" 
    "LastModified" => "2014-02-27T09:50:00-08:00" 
    "LastModBy" => "1" 
    "ProductPopularity" => "110" 
    "AutoDropShip" => "N" 
    ] 
] 

aber alle Werte dieses Arrays sind Strings. Ich möchte über dieses Array iterieren und seine Werte auf ihre ursprünglichen Typen umwandeln. Wenn ProductID eine Ganzzahl ist, möchte ich sie in Integer umwandeln. Datumsangaben in echtes Blabla umwandeln.

Kann dies getan werden?

+0

Warum müssen/wollen Sie dies tun? Es gibt keinen Datumstyp und auch welche Originaltypen? – Rizier123

+0

Wie wäre es mit diesen Werten: '" true "', '" 1.44 "', '" null "'? – RomanPerekhrest

+0

Datum kann Datetime-Objekt sein. Wie auch immer, ich möchte nur dieses Array löschen. Wenn Preise float oder double sind, möchte ich, dass sie als Double- oder Float-String angezeigt werden. –

Antwort

1

Es gibt nicht eine wirkliche Funktion in PHP, die Elemente weg Array auf der Grundlage ihrer Datentypen analysieren kann, aber trotzdem kann es tun preg_match Musteranpassungstechniken, durch die Zeichen in jedem Element zu erkennen und geben sie

Umwandeln

Idee: - Verwenden Sie eine foreach-Schleife und nehmen Sie jedes Element und preg_match anwenden, um zu prüfen, welche Art von Daten und dann einen Datentyp für sie festlegen :)

+0

das klingt jetzt nach einer großartigen Idee. Was ist, wenn dieses Array 1000 Elemente enthält? Was ist mit der Leistung? und natürlich, wenn ich diese Funktion wollte, sollte ich die Leistung ignorieren, die ich denke. –

+1

Ich glaube nicht, dass die Implementierung die Leistung beeinflussen wird, es gibt eher Leistungseinbußen wie kryptografische Hash-Generationen während Login-Berechtigungen, habe ich einmal gesehen, wie die ** PHP-Session-ID funktioniert ** und ich war so große Berechnungen und noch keine Leistungseinschränkungen Ihr Problem ist nicht viel verglichen mit denen. Aber es könnte einen besseren Weg für Ihr Problem geben. – StackB00m