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";
?>