2012-04-02 114 views
0

我有以下输出二维数组改变二维数组的索引

Array 
(
[0] => Array 
    (
     [customer_id] => 7 
     [language_id] => 1 
     [variableitem_id] => 13 
     [name] => QUESTION_HEADLINE 
     [value] => Bitte geben Sie Ihren Downloadkey ein: 
    ) 

[1] => Array 
    (
     [customer_id] => 7 
     [language_id] => 1 
     [variableitem_id] => 15 
     [name] => QUESTION_BUTTON 
     [value] => Start! 
    ) 
) 

我想阵列的输出转换为这样的事情

Array 
(
[QUESTION_HEADLINE] => Array 
(
    [value] => Bitte geben Sie Ihren Downloadkey ein: 
) 

[QUESTION_BUTTON] => Array 
(
    [value] => Start! 
) 
) 

我使用这段代码为什么它不给我合适的索引名称

$final = array(); 
      foreach($data['variables_data'] as $vals){ 
       $final[$vals['name']]['value'] = $vals['value']; 
       echo '<pre>'; 
       print_r($final[$vals['name']]['value']); 
       echo '</pre>'; 
      } 
+0

它很简单,你只需要一个循环 – safarov 2012-04-02 14:56:19

回答

0
$final = array();  
foreach ($arr as $vals) { 
    $final[$vals['name']] = array('value' => $vals['value']); 
} 
echo '<pre>'; 
print_r($final); 
echo '</pre>'; 

这应该做的工作。输出=>

> Array (
>  [QUESTION_HEADLINE] => Array 
>   (
>    [value] => Bitte geben Sie Ihren Downloadkey ein: 
>  ) 
> 
>  [QUESTION_BUTTON] => Array 
>   (
>    [value] => Start! 
>  ) 
> 
>) 
+0

谢谢soooooooooo多... U保存了我的一天...非常感谢:) – 2012-04-02 15:36:01

+0

如果我想打印任何值为例如标题我必须使用 $ final ['PAGETITLE'] ['value']但它没有打印它? – 2012-04-02 15:39:58

+0

你是否在谈论上面提到的相同的数组strucutre?它似乎没有标题。 – 2012-04-02 15:43:57

0
foreach ($originalArray as $orgSubArray) { 
    $newArray[$orgSubArray['name']]['value'] = $orgSubArray['value']; 
} 
0
$final = array()  
Foreach ($arr as $vals) { 
    $final[$vals['name']] = $vals['value']; 
} 

这与CI无关。这真的很简单..在来这里之前你尝试过什么?

+0

ü提供的解决方案是笏我究竟做了,但它给我只值不 – 2012-04-02 15:03:14

+3

只是因为你知道答案,你没有名字是那个粗鲁的tandu,特别是当你给的解决方案不是正确的时候 – 2012-04-02 15:37:05