2015-06-01 1 views
-2

У меня есть строка, что я взрываюсь на «/», получая что-то вроде этого:остальных строк в массив

/* 
["wf_event_name/events/1"]=> 
    string(5) "test1" 
    ["wf_event_description/events/1"]=> 
    string(5) "test1" 
    ["wf_event_name/events/1/1"]=> 
    string(6) "test11" 
    ["wf_event_description/events/1/1"]=> 
    string(6) "test11" 
    ["wf_event_name/events/2"]=> 
    string(5) "test2" 
    ["wf_event_description/events/2"]=> 
    string(5) "test2" 
*/ 

В каждой части каждая вещь между «событием» и в следующем wf_event_ является «порядком» событий.

То, что я хотел бы это:

$events = array("event" => 1); 
$events = array("event" => 1, "event" -> 1); 
$events = array("event" => 2); 

(число "событий", неизвестно - может быть 0 или 100) Любой один?

EDIT: (попытался это до сих пор)

$_event_array = array(); 
foreach ($_POST AS $post => $value) { 
    $pos = strpos($post, "wf_event_"); 
if ($pos !== false) { 
    /* Split string into parts */ 
    /* 1.st post value name */ 
    /* event segmentation (any thing after this gives the placement in dependency) */ 
    /* event order (segmented by /) */ 
     $_event_array[] = explode('/', $post); 
    } 
} 
+0

Пытались ли вы что-нибудь? И почему вы хотите каждый раз перезаписывать '$ events'? – Daan

+0

Ваш вопрос непонятно мне, какова ваша цель? –

+0

Правильное ли ваше ожидание? – KTAnj

ответ

1
$array = array(); 
$string = "wf_event_name/events/1"; 
$pos = str_replace("wf_event_name/", "", $string); 
$array = explode('/',$pos); 

$output[$array[0]]=$array[1]; 
print_r($output); 
Смежные вопросы