2013-07-25 4 views

ответ

4

попробовать это один

$temp=array(); 
foreach($arr as $each) 
{ 
    $val=explode(",",$each); 
    $temp[$val[0]]=$val[1]; 
} 
echo "<pre>";print_r($temp); 

пожалуйста, дайте мне знать, если вы сталкиваетесь с любой проблемой.

+0

Это идеальное решение для меня. –

+0

рад, что это вам помогло. – ABorty

1

Ярчайший и простым способом было бы для создания нового массива и его прохода через старый:

$new_array = array(); 
foreach ($old_array as $val) { 
    $val = explode(',', $val); 
    $new_array [$val[0]] = $val[1]; 
} 
2

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

<?php 
    $array_1=your_array_here; 
    $array_2=array(); 
    foreach($array_1 as $value){ 
     $parts=explode(',',$value); 
     $array_2[$parts[0]]=$parts[1]; 
    } 
    print_r($array_2); 
?> 
2
$finalArray = array(); 
foreach($arr as $row) 
{ 
    $newArr = explode(',',$row); 
    $finalArray[$newArr[0]] = $newArr[1]; 
} 
print_r($finalArray); 
1

Мое решение:

$array = array('68,Off', '07,Do', '88,Ph'); // Old array 
    $tidy = array(); // New array 

    for($i = 0; $i < count($array); $i++){ 
     $tmp = explode(",", $array[$i]); 
     $tidy[$tmp[0]] = $tmp[1]; 
    } 
0

Есть несколько способов сделать то, что вы хотите. Вот один из них. Это решение сохранит исходный ключ, если в значении нет запятых.

<?php 
$new_array = array(); 
foreach ($array as $key => $value) { 
    list($new_key, $new_value) = explode(",", $value); 
    if (!strstr($value, ",")) { 
     list($new_key, $new_value) = array($key, $value); 
    } 
    $new_array[$new_key] = $new_value; 
} 
print_r($new_array); 
?> 
Смежные вопросы