1

我有和数组 $aArg 与这些值

array ( 0 => 'reviewed_entity', 1 => 'kiosk', )
array ( 0 => 'tripadvisor', 1 => 'tripadvisor2', )
array ( 0 => 'google', 1 => 'google2', )
array ( 0 => 'yahoo', 1 => 'yahoo2', )

我需要使它如下所示。

array ('kiosk'  =>  array ( 'tripadvisor' => 'tripadvisor2','google' => 'google2','yahoo' => 'yahoo2',));
  • 请注意一些事情 Kiosk 是第一个数组的 [1] 的值。它现在是父数组'
  • 其他数组的值 [0] transpose 作为 [1] 的键
  • 所有数组已合并为一个。

谢谢你们,为了得到最终的合并结果,我彻夜难眠,请与我分享获得所需结果的最快方法

4

2 回答 2

0

您的输入数组似乎不正确。我以为是这样的。。

<?php $aArg = array(
array ( 0 => 'reviewed_entity', 1 => 'kiosk', ),
array ( 0 => 'tripadvisor', 1 => 'tripadvisor2', ),
array ( 0 => 'google', 1 => 'google2', ),
array ( 0 => 'yahoo', 1 => 'yahoo2', ));


$newArr = array($aArg[0][1] => array());
$i = 0;
foreach($aArg as $arr) {
  if($i) {
    $newArr[$aArg[0][1]][$arr[0]] = $arr[1];
  }
  $i ++;
} 
var_export($newArr);
于 2013-05-14T09:23:07.607 回答
0

不确定它是否最快,但我希望你能得到想要的结果。以下代码是在 PHP..

$newArr = array($aArg[0][1] => array());

$i = 0;
foreach($aArg as $arr) {
  if($i) {
    $newArr[$aArg[0][1]][$arr[0]] = $arr[1];
  }
  $i ++;
}
于 2013-05-13T06:12:44.747 回答