2011-06-24 10 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>'; 

でサポートされていないオペランドの型Iは、メッセージましたので、私は間違ってここにいる何?:コールバック関数の致命的なエラー:

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

+2

'$のA'と' $のB'はタイプ '$のB'が配列であると' $のA'は、最初の反復 –

+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

関連する問題