0

別の初心者の質問で申し訳ありませんが... myfunction が実際に行っている機能を誰かに説明してもらえますか。変数 $a と $b が同一であるかどうかをチェックしていることは理解していますが、それらが同一である場合は 0 を返すと想定されていますが、次の戻り値は混乱を招きます。三項演算子を使用していることがわかります。

function myfunction($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}

$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"red","b"=>"green","d"=>"blue");
$a3=array("e"=>"yellow","a"=>"red","d"=>"blue");

$result=array_diff_uassoc($a1,$a2,$a3,"myfunction");
print_r($result);

print_r が返す

Array ( [c] => blue )

しかし、どうやってここにたどり着いた...

4

1 に答える 1

1

array_diff_uassocのドキュメントに記載されているように、最初の引数から、他の引数と比較して一意のエントリを返します。最後の引数は、アイテムが一意かどうかを確認するために使用する関数の名前です。

したがって、 $a1 のみが含まれ'c'=>'blue'ているため、返されます。

于 2013-10-28T18:21:46.730 に答える