数组到assoc

时间:2011-04-04 20:57:48

标签: php

我有一个数组

Array
(
    [0] => [RESPONSE]

    [1] => DESCRIPTION=Attribute value is not unique

    [2] => CODE=540

    [3] => 

    [4] => QUEUETIME=0.003

    [5] => RUNTIME=0.003

    [6] => 

    [7] => EOF

)
Array 

我想进入

array( [DESCRIPTION] => Attribute value is not unique, [CODE] => 540 ...);

我该怎么做?我不能使用爆炸,因为它是一个数组?

3 个答案:

答案 0 :(得分:1)

如果这是我认为的,为什么不使用PHP的内置parse_ini_file()函数自动将文件读入关联数组?或parse_ini_string()如果它不是来自文件来源?

答案 1 :(得分:0)

我不相信PHP有一个,但这是一个简单的功能(测试):

$array2 = array();
foreach($array1 as $value)
{
    $values = explode("=", $value);
    if(count($values) > 1)
    {
        $newValue = "";
        for($i = 1; $i < count($values); $i++)
        {
            $newValue .= $values[$i];
        }

        $array2[$values[0]] = $newValue;
    }
    else
    {
        $array2[] = $value;
    }
}

答案 2 :(得分:0)

虽然有点蛮力接近,但以下情况应该有效:

<?php
    $testArray = array('[RESPONSE]', 'DESCRIPTION=Attribute value is not unique', 'CODE=540', 'QUEUETIME=0.003', 'RUNTIME=0.003');
    $newArray = array();

    foreach($testArray as $element) {
        if(strpos($element, '=') !== false) {
            list($key, $value) = explode('=', $element, 2);
            $newArray[$key] = $value;
        }
    }

    print_r($newArray);
?>