在php中转换数组

时间:2014-06-02 06:27:10

标签: php

我有一个像这样的数组

Array (
    [0] => Array ( 
        [label] => G2 ) 
    [1] => Array ( 
        [label] => Samsung Galaxy S4 ) )

我想将它转换为类似这样的数组

array (
    'label' => array(
        'optionone' => array('G2'),
        'optiontwo' => array('Samsung Galaxy S4'))),

4 个答案:

答案 0 :(得分:0)

由于数值也很好,试试这个

$newArray = array('label');
foreach ( $array = $k=>$a ) {
    $newArray['label'][ 'option' . $k+1 ] = $a['label'];
}

答案 1 :(得分:0)

在这里你必须 foreach 数组来迭代每个索引 [0],[1] 等。在数组内部你必须创建一个多维数组

 $var['label'][] = $value; .

然而对于像optionone这样的关联数组,选项你需要连接'选项'+将整数1,2,3转换为一,二,三等。

将1,2,3转换为一,二,三。请点击这里 Converting a number (1, 2, 3) to a string (one, two, three) in PHP

答案 2 :(得分:0)

我认为这给了你想要的东西,但结构对我来说有点奇怪。也可能有一个魔术函数填充$num2str

$a = Array (Array ( 'label' => 'G2' ), Array ( 'label' => 'Samsung Galaxy S4' ) );
$b = array();
$num2str = array('one', 'two', 'three', ..);
foreach($a as $i => $phone_info) {
  $b['label']['option' . $num2str[$i]] => array($phone_info['label']);
}

答案 3 :(得分:0)

option1option2密钥更有用,而不是optiononeoptiontow

试试这段代码

$array1 = Array (Array ("label" => "G2" ), Array ( "label" => "Samsung Galaxy S4" ) );
$array2 = array();
$array2['label'] = array();
for($i=0; $i < count($array1); $i++){
 $array2['label']["option{$i}"] = $array1[$i]['label'];
}
print_r($array2);