2011-06-24 63 views
0
<?php 
$A= array("A1"=>array("x"=>1,"b"=>2,"d"=>3,"s"=>8), 
      "A2"=>array("a"=>4,"b"=>3,"c"=>2,"d"=>1) 
     ); 
function callback($a, $b) { return $a + $b; } 


$keys = array_keys(array_reduce($A, "callback", array())); 
sort($keys); 
echo '<pre>'; 
print_r($keys); 
echo '</pre>'; 

什麼我錯了這裏,因爲我得到的消息:回調函數致命錯誤:不支持的操作類型

Fatal error: Unsupported operand types in .... in line

+2

因爲'$了'和'$ B'是不同類型的'$ B'是一個數組,'$了'是在第一次迭代 –

+0

整數0你知道我怎麼能修復的問題? – newbie

+0

我不知道,你想實現什麼,但至少你的代碼在這裏沒有產生任何錯誤。 – KingCrunch

回答

1

無法重現,我沒有得到一個錯誤,如果我執行你的代碼。但看起來,你只是想獲得唯一的密鑰。

$keys = array_unique(array_merge (array_keys($A['A1']), array_keys($A['A2']))); 
+0

是的,我的想法。在這個問題。,http://stackoverflow.com/questions/6466716/mapping-the-key-value-in-assoc-array-base-on-its-union – newbie

相關問題