Как создать конкретный массив из строки в php

У меня есть переменная str str $ и я хочу сделать массив $ array из строки $ str.

$str = "BKL|bkl,EXH|exh,FFV|ffv,LEC|lec,AUE|aue,SEM|sem"; Final array should be $array = array( 'BKL'=> 'bkl', 'EXH' => 'exh', 'FFV' => 'ffv', 'AUE' => 'aue' ); 

Related of "Как создать конкретный массив из строки в php"

Это должно сделать трюк

 $str = "BKL|bkl,EXH|exh,FFV|ffv,LEC|lec,AUE|aue,SEM|sem"; $final = array(); foreach (explode(',', $str) as $pair) { list($key, $value) = explode('|', $pair); $final[$key] = $value; } print_r($final); 

Вывод

 Array ( [BKL] => bkl [EXH] => exh [FFV] => ffv [LEC] => lec [AUE] => aue [SEM] => sem ) 

Попробуй это,

 <?php $str = "BKL|bkl,EXH|exh,FFV|ffv,LEC|lec,AUE|aue,SEM|sem"; $split = explode(',', $str); $arr = array(); foreach($split as $v){ $tmp = explode('|', $v); $arr[$tmp[0]] = $tmp[1]; } print_r($arr); ?> 

Вывод:

 Array ( [BKL] => bkl [EXH] => exh [FFV] => ffv [LEC] => lec [AUE] => aue [SEM] => sem ) 
 $str = "BKL|bkl,EXH|exh,FFV|ffv,LEC|lec,AUE|aue,SEM|sem"; $result = array(); $node = explode(',', $str); foreach ($node as $item) { $temp = explode('|', $item); $result[$temp[0]] = $temp[1]; } 
 $str = "BKL|bkl,EXH|exh,FFV|ffv,LEC|lec,AUE|aue,SEM|sem"; $out = array; $arr = explode(',', $str); foreach ($arr as $item) { $temp = explode('|', $item); $out[$temp[0]] = $temp[1]; } 

Вы должны взглянуть на взрыв в руководстве по php.