1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
/* ------------------------------------------------------------------------------------------------
 *    配列関連の関数:配列の比較計算02の例
 *   「array_udiff,array_udiff_assoc,array_udiff_uassoc,array_uintersect,array_uintersect_assoc,
 *     array_uintersect_uassoc,array_product,array_sum」
 *  作成: 2015.08.18 yoshi of CXMedia Inc.
 * ------------------------------------------------------------------------------------------------ */
header("Content-type:text/plain; charset=UTF-8");

// array()
$ary1 = array('a'=>'start','fruit'=> 'apple','vegita'=>'tomato','b'=>'lemon','a');
$ary2 = array('a'=>'end',  'fruit'=> 'apple','lemon','b','a');

$aryn = array(8,5,3,9,6,2,7,1,10,4);

//配列値の比較:ユーザ関数
function value_cmp($a$b){
    return (
$a == $b)? '0' : (($a $b)? '1' '-1');
}
//配列キーの比較:ユーザ関数
function key_cmp($a$b){
    return (
$a == $b)? '0' : (($a $b)? '1' '-1');
}


echo 
'■■配列の比較計算02の例■■',"\n";
// array_udiff(array1,array2, ...);
echo '■配列データ比較関数の差:',
    
"\n",'$aryOut=array_udiff(array1,array2 [,array3 ...],value_cmp)',"\n";
$aryOut array_udiff($ary1$ary2'value_cmp');
print_r($aryOut);

// array_udiff_assoc(array1,array2, ... ,value_cmp);
echo '■配列データ比較関数の差(添字含む):',
    
"\n",'$aryOut=array_udiff_assoc(array1,array2 [,array3 ...],value_cmp)',"\n";
$aryOut array_udiff_assoc($ary1$ary2'value_cmp');
print_r($aryOut);

// array_udiff_uassoc(array1,array2, ...  ,value_cmp,key_cmp);
echo '■配列データ比較関数、添字比較関数の差:',
    
"\n",'$aryOut=array_udiff_uassoc(array1,array2 [,array3 ...],value_cmp, key_cmp)',"\n";
$aryOut array_udiff_uassoc($ary1$ary2'value_cmp''key_cmp');
print_r($aryOut);

// array_uintersect(array1,array2, ... ,value_cmp);
echo '■配列データ比較関数の共通項:',
    
"\n",'$aryOut=array_uintersect(array1,array2 [,array3 ...],value_cmp)',"\n";
$aryOut array_uintersect($ary1$ary2'value_cmp');
print_r($aryOut);

// array_uintersect_assoc(array1,array2, ..., value_cmp);
echo '■配列データ比較関数の共通項(添字含む):',
    
"\n",'$aryOut=array_uintersect_assoc(array1,array2 [,array3 ...],value_cmp)',"\n";
$aryOut array_uintersect_assoc($ary1$ary2'value_cmp');
print_r($aryOut);

// array_uintersect_uassoc(array1,array2, ... ,value_cmp,key_cmp);
echo '■配列データ比較関数、添字比較関数の共通項:',
    
"\n",'$aryOut=array_uintersect_uassoc(array1,array2 [,array3 ...],value_cmp, key_cmp)',"\n";
$aryOut array_uintersect_uassoc($ary1$ary2'value_cmp''key_cmp');
print_r($aryOut);

// array_product()
echo '■配列の積合計:$iSum=array_product(array)',"\n";
$iSum array_product($aryn);
echo 
'配列の積合計:',$iSum,"\n";

// array_sum(array)
echo '■配列の合計:$iSum=array_sum(array)',"\n";
$iSum array_sum($aryn);
echo 
'配列の合計:',$iSum,"\n";

?>