Autor | Zpráva | ||
---|---|---|---|
srigi Profil |
#1 · Zasláno: 21. 1. 2009, 00:54:59 · Upravil/a: srigi
Hello, mam pole:
Array ( [name_cz] => CZ:Rovné [desc_cz] => CZ:Rovné krby s rovním čelním sklem [name_sk] => SK:Rovné [desc_sk] => SK:Rovné krby s rovným čelným sklom ) Pole by som potreboval preusporiadat do formy: Array ( [cz] => Array ( [name] => CZ:Rovné [desc] => CZ:Rovné krby s rovním čelním sklem ) [sk] => Array ( [name] => SK:Rovné [desc] => SK:Rovné krby s rovným čelným sklom ) ) Problem je ze pocet jazykov moze "variovat", takze to musi preukladat dynamicky v zavislosti od vstupneho pola. Malou vyhodou je, ze pocet poloziek v ramci jedneho jazyka je vzdy rovny dvom. Pre odvazlivca co sa mi rozhodne pomoct, mam pomocku v podobe regularneho vyrazu pre extrahovanie jazyka a polozky zo vstupneho pola: foreach ($input_array as $key => $value) { preg_match('/^([A-Za-z]+)_([A-Z]{2})$/i', $key, $matches); $lang = $matches[2]; $item = $matches[1]; ... } Za pomoc dakujem. |
||
tiso Profil |
#2 · Zasláno: 21. 1. 2009, 01:24:14
srigi
//$in vstupne pole $out=array();//vystupne pole foreach($in as $key => $val){ $lang=substr($key, -2); $key=substr($key, 0, -3); $out[$lang][$key]=$val; } |
||
srigi Profil |
#3 · Zasláno: 21. 1. 2009, 01:37:34
tiso
THX, funguje to dobre, regular ale ponecham, lebo sa jedna o POST udaje, teda veci ktore treba validovat. Este raz THX. |
||
tiso Profil |
#4 · Zasláno: 21. 1. 2009, 01:44:23 · Upravil/a: tiso
srigi - tak potom ti stačí dať miesto ...
$out[$lang][$item]=$value; |
||
Časová prodleva: 16 let
|
0