2013-03-08 45 views
1

阵列我有一个像问题在PHP

Array 
(
    [1] => Array 
     (
      [A] => Name 
      [B] => Email 
      [C] => Phone 
      [D] => Bank Name 
      [E] => Cheque Number 
      [F] => Cheque Date 
      [G] => Amount 
      [H] => Due On 
     ) 

    [2] => Array 
     (
      [A] => Sri 
      [B] => [email protected] 
      [C] => 312313131 
      [D] => SBI 
      [E] => 32324234 
      [F] => 9/19/13 19:00 
      [G] => 121 
      [H] => 7/12/13 15:00 
     ) 

) 

数组现在,我想通过使用PHP的这个上面数组转换为

Array 
(

    [1] => Array 
     (
      [A] => Sri 
      [B] => [email protected] 
      [C] => 312313131 
      [D] => SBI 
      [E] => 32324234 
      [F] => 9/19/13 19:00 
      [G] => 121 
      [H] => 7/12/13 15:00 
     ) 

) 

我正在尝试使用array_shift()。但通过array_shift,我没有得到确切的输出。通过使用这个,我得到了以下输出:

Array 
    (
     [A] => Name 
     [B] => Email 
     [C] => Phone 
     [D] => Bank Name 
     [E] => Cheque Number 
     [F] => Cheque Date 
     [G] => Amount 
     [H] => Due On 
    ) 

请让我知道如何做到这一点。

+3

为什么你会在你的'print_r'中去掉换行符?这是不可读的。 – ceejayoz 2013-03-08 17:34:29

+0

@ceejayoz猜测它是从浏览器渲染而不是从页面源中复制的。 – 2013-03-08 17:35:31

+2

请在您的浏览器中查看页面源代码,并复制来自threre的数组'print_r()'转储。这将使_far_更容易理解结构与换行符完好 – 2013-03-08 17:36:13

回答

0

array_shift会诀窍,但你必须认识到array_shift修改原始数组并返回移位的元素。

所以结果将在您的原始数组中,而不是在返回值中。

顺便说一句,我会确保我在关联数组中获取数据,以便您的第一个子数组的值是第二个子数组中的值的键。

+1

非常感谢。它的工作正常。其实我犯了一个错误,将array_shift()存储在一个变量中,然后打印该变量。 – Srimanta 2013-03-08 18:00:00

+1

@Srimanta这就是我所想的:-) – jeroen 2013-03-08 18:00:49

0

试试这个:

$newArray = array_combine(array_values($array[0]), array_values($array[1])); 

如前所述,这是相当很难说与格式。如果您遇到格式问题,请尝试将<pre>添加到print_r之前的页面顶部。