ciao gente.
mi servirebbe un consiglio.
ho due vettori strutturati in modo identico che riportano una stringa in cui c'è un numero e del testo.
io vorrei separare le stringhe dal numero, fare un controllo nel vettore di destinazione e se l'occorrenza è assente, aggiungere, altrimenti, sommare il numero.
esempio:
VETT INPUT:
[0] => 2 scarpe
[1] => 2 calzini
VETT CONTROLLO:
[0] => 2 calzini
[1] => 1 camicia.
vorrei che il risultato finale fosse:
VETT CONTROLLO
[0] => 4 calzini
[1] => 1 camicia
[2] => scarpe
al momento ho solo quest'idea:
Codice PHP:
function modifica_inv($vett){
$vett = split("#",$vett);
for($i=0;$i<count($vett);$i++){
$nome_inv = '';
$num = 0;
$temp = explode(" ",$vett[$i]);
print_r($temp);
for($n=0;$n<count($temp);$n++){
if(strlen($temp[$n])>2){
//echo $temp[$n];
$nome_inv = $nome_inv.$temp[$n];
}
else{
$num = $temp[$n];
}
}
$inv[$nome_inv] = $num;
return $inv;
}
}
in modo da dividere ogni singolo campo del vettore in sotto campi multipli, verificare se l'oggetto è un numero o meno e poi creare un nuovo vettore che sia modificato:
Codice PHP:
$nuovo = array("nomecampo", numero_prelevato)
solo che
1) la verifica is_int() non ha successo, ho sostituito in via temporanea strlen <
2) devo ancora fareil controllo uno a uno tra i due vettori, ma quello con in_array() dovrebbe venire facile, il fatto è che in uscita da questa funzione, che viene chiamata per entrambi i vettori, non ottengo i due vettori come li vorrei.
sono aperto a consigli, correzioni, algoritmi sostitutivi!
grazie e