2015-10-23 1 views
-2

Привет всем, что нужно мне преобразовать массив в var php, и я не знаю, где начать.преобразовать массив php in в var

У меня есть этот массив

Array 
(
    [0] => unixTime:1445559106 
    [1] => price:12.00 
    [2] => user:Albert 
    [3] => CP:zm 

) 

Я хочу PHP-вар = UnixTime, цена, пользователь, CP

Спасибо так много.

+2

Если вы имеете в виду вы хотите превратить массив в строку использования 'implode'. – Script47

+0

Вам нужно получить эквивалент '$ unixTime = '1445559106'; $ price = '12 .00 '; $ user = 'Альберт'; $ CP = 'zm'; '? –

+0

Возможный дубликат [php imploding array help] (http://stackoverflow.com/questions/1181516/php-imploding-array-help) – eykanal

ответ

1
$arrayNew = array(); 
foreach ($array as $k => $v) 
{ 
    list($key,$val) = explode(':', $v, 2); 
    $arrayNew[$key] = $val; 
} 
// it's unclear but you may now want to perform this next call 
extract($arrayNew); 

// with extract you now have variables you can access 
// ie, from you example there is now $unixTime, $price, $user, & $CP 
// perhaps just a preference, but I would rather work with the array.. 
// $arrayNew['unixTime'], etc. 
+0

Я предпочитаю ваш способ сделать это с помощью метода list() , намного чистейший так же. – coder4show

+1

@Barmar также используется list() ... Я использую третий параметр explode для ограничения числа «разделов» на 2 ... часть «значение» может содержать «:» –

+0

Отличный пример этой работы, могу ли я использовать экстракт чтобы получить отдельные значения, вы можете помочь мне с примером. Большое вам спасибо за помощь – user4131013

0

Вам просто нужно это сделать, если вы хотите, каждое значение разделить массив в $ key_name = $ значение:

$value_list = array(
    'test:value', 
    'name:George' 
); 

foreach($value_list AS $key => $val){ 

    $split = explode(':', $val); 

    $$split[0] = $split[1]; 

} 

print_r(get_defined_vars()); 

Этот метод даст вам $ имя, $ тест как вары, как просили:

0

Используйте ассоциативный массив:

$outArray = array(); 
foreach ($inarray as $element) { 
    list($name, $value) = explode(':', $element); 
    $outArray[$name] = $value; 
} 
var_dump($outArray); 
Смежные вопросы