2014-12-19 51 views
0

中组合二维数组我需要组合2个数组。例如:如何在php

$array1 = array(
    [0] = array([0]=>1, [1]=>12-19-2014, [3]=>1113, [4]=>credit, [5]=>50000) 
); 

$array2 = array([0]=>1, [1]=>12-19-2014, [3]=>1111, [4]=>debet, [5]=>50000); 

,并成为

$array = array(
    [0]=>array([0]=>1, [1]=>12-19-2014, [3]=>1113, [4]=>credit, [5]=>50000) 
    [1]=>array([0]=>1, [1]=>12-19-2014, [3]=>1111, [4]=>debet, [5]=>50000) 
); 

我如何代码?感谢所有回答.... :)

谢谢所有谁给我答复或评论。这只是一个例子。现在,我尝试将其实施到我的脚本中,但我不知道它为什么不起作用。

这里是我的表调用Table:

||id || Date || explanation || debit_account || credit_account || debit || credit || 

然后,如果我有数据(1,'12 -19-2014' , “买矿泉水”,1113,1112,5000,0), 用户(或会计师)希望看到它作为通用会计准则象下面这样:

function listRecord() 
$sql = mysql_query("SELECT * from table1"); 
while($row = mysql_fetch_array($sql)) { 
    $array1 = array (
     "id"=>$row["id"], 
     "Date"=>$row["Date"], 
     "explanation"=>$row["explanation"], 
     "account"=>$row["debit_account"], 
     "debit" =>$row["debit"], 
     "credit"=>"" // or null 
    ); 

    $array2 = array (
     "id"=>$row["id"], 
     "Date"=>$row["Date"], 
     "explanation"=>$row["explanation"], 
     "account"=>$row["debit_account"], 
     "debit" =>"", // or null, 
     "credit"=>$row["debit"] 
    ); 
array_push($array1, $array2); 
} 

return $array1; 
} 

|| Date || Explanation  || Account || Debit || Credit || 
||12-19-2014 || Buying mineral water || 1113 || 5000 ||  || 
||12-19-2014 || Buying mineral water || 1112 ||  || 5000 || 

所以我用他们笨和我的模型代码下面的代码

然后在浏览:

foreach ($listRecord as $row) { 
echo '<tr><td>'.$row['id'].'</td><td>'.$row['date'].'</td<td>'.$row['explanation'].'</td><td>'.$row['account'].'</td><td>'.$row['debit'].'</td><td>'.$row['credit'].'</td></tr>'; 
} 

不幸的是,我没有得到的结果如我所料。所有的答案都将是感恩。

+0

只是创建另一个数组,并推动'$ array1'和'$ array2'给他。 – waki 2014-12-19 04:17:17

+5

'$ array1 [] = $ array2;' – 2014-12-19 04:18:00

+0

你试过了什么? – Amy 2014-12-19 04:35:08

回答

4
$array = $array1; 
$array[] = $array2; 
0

使用array_push

$array1 = array(
    array(1, '12-19-2014', 1113, 'credit', 50000) 
); 

$array2 = array(1, '12-19-2014', 1111, 'debet', 50000); 

array_push($array1, $array2); 

print_r($array1); 
+0

Hi @Karthi,我在编辑上面的问题。你有任何建议来解决它?谢谢 – dede 2014-12-19 08:01:41

1
$array1 = array(
     '0' => array('1', '12-19-2014', '1113', 'credit', '50000') 
    ); 
    echo 'Array 1<pre>'; 
    print_r($array1); 

    $array2 = array('1', '12-19-2014', '1111', 'debet', '50000'); 
    $array_push=array($array2); 
    echo 'Array 2<pre>'; 
    print_r($array2); 
    $array3=array_merge($array1,$array_push); 
    echo 'Array 3<pre>'; 
    print_r($array3); 
    ?> 

array output

+0

哇,这太复杂了。 – deceze 2014-12-19 04:39:47

+1

太多了。阅读Karthi的答案。 – 2014-12-19 04:44:53

+1

这是我的想法,如果您有任何问题分享您的代码 – 2014-12-19 05:00:07

0
function listRecord(){ 
$sql = mysql_query("SELECT * from table1"); 
$rows=array(); 
while($row = mysql_fetch_array($sql)) { 
    $array[] = $row["id"]; 
    $array[] = $row["Date"]; 
$array[] = $row["explanation"]; 
$array[] = $row["debit_account"]; 
$array[] = $row["credit"]; 
array_push($rows, $array); 
} return json_encode($rows); 
} 
+0

解释你的工作... – Sandesh 2014-12-19 14:57:12