[PHP] Creare un array da stringa con diversi spazi

Monital

Utente Attivo
15 Apr 2009
778
2
18
salve ho un piccolo problema su cui sto sbattendo al testa da stamattina e non ne vengo fuori

ho un file che mi rilascia dei dati in questo formato
Codice:
07/07/2015 02:59 1537 07/08/2015 03:01 1537 07/09/2015 03:05 1393 07/10/2015 02:54 1393 07/12/2015 02:55 1393  etc...
questi dati devo trasformarli in un array dove ogli valore deve essere ad esempio 07/07/2015 02:59 1537 , bene fin qui ci sono anche arrivato con una soluziione artigianale

PHP:
$file= file_get_contents($miofile);

$arr = str_split($file, 22);
il problema avviene quando il dato diventa 07/12/2015 02:55 500

in questo caso il 22° carattere diventa l'inzio dell'altra data.
Una soluzione ottimale era di far l'explode ogni due spazi ma non sono risucitoa capire come farlo e se possibile farlo.

Suggerimenti?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
prova una cosa del genere
PHP:
<?php
$stringa="07/07/2015 02:59 1537 07/08/2015 03:01 1537 07/09/2015 03:05 1393 07/10/2015 02:54 1393 07/12/2015 02:55 1393";//  etc...
$esplosa=explode(" ",$stringa);
$quanti=count($esplosa)-3;//se non erro sono gruppi di 3
for($k =0; $k<$quanti; $k=$k+3){
    $valori[]=$stringa[$k]." ".$stringa[$k+1]." ".$stringa[$k+2];
}
var_dump($valori);
?>
col var_dump verifichi se hai ottenuto quello che volevi, al massimo non funziona
 
  • Like
Reactions: Monital

Monital

Utente Attivo
15 Apr 2009
778
2
18
sei un grande borgo ma.................stai facendo vecchiarello

non fungeva divideva le parole ci ho ragionato un attimo ed hai avuto una piccola svista
PHP:
<?php
$stringa="07/07/2015 02:59 1537 07/08/2015 03:01 1537 07/09/2015 03:05 1393 07/10/2015 02:54 1393 07/12/2015 02:55 1393";//  etc...
$esplosa=explode(" ",$stringa);
$quanti=count($esplosa)-3;//se non erro sono gruppi di 3
for($k =0; $k<$quanti; $k=$k+3){
    $valori[]=$stringa[$k]." ".$stringa[$k+1]." ".$stringa[$k+2];
}
var_dump($valori);
?>
$stringa va sostituita con $esplosa
PHP:
    $valori[]=$stringa[$k]." ".$stringa[$k+1]." ".$stringa[$k+2];
indi
PHP:
    $valori[]=$esplosa[$k]." ".$esplosa[$k+1]." ".$esplosa[$k+2];
sei un grande questa dritta mis ervirà anche per altre cose GRAZIE