回答編集履歴

1

質問の関数を修正したものを追記しました。

2019/05/20 15:37

投稿

Eggpan
Eggpan

スコア2729

test CHANGED
@@ -46,4 +46,78 @@
46
46
 
47
47
 
48
48
 
49
+ 追記:
50
+
51
+ 第2引数が文字列と配列、どちらが来ても処理出来るようにしたい、とのことでしたので
52
+
53
+ 元のコードから変化が少ないような書き方にしてみました。
54
+
55
+ ```
56
+
57
+ function is_user( $type, $value ) {
58
+
59
+ if( is_array($value) ){
60
+
61
+ foreach ( $value as $v ) {
62
+
63
+ if($type=='name'){
64
+
65
+ $user_data = get_user_by( 'name', $v );
66
+
67
+ }
68
+
69
+ else if($type=='id'){
70
+
71
+ $user_data = get_user_by( 'id', $v );
72
+
73
+ }
74
+
75
+ if ($user_data){
76
+
77
+ return true;
78
+
79
+ }
80
+
81
+ }
82
+
83
+ // foreach の検索結果で見つからなかったらfalseを返す
84
+
49
- 解決の参考になれば幸いです。
85
+ return false;
86
+
87
+ }
88
+
89
+ else{
90
+
91
+ if($type=='name'){
92
+
93
+ $user_data = get_user_by( 'name', $value );
94
+
95
+ }
96
+
97
+ else if($type=='id'){
98
+
99
+ $user_data = get_user_by( 'id', $value );
100
+
101
+ }
102
+
103
+ if ($user_data){
104
+
105
+ return true;
106
+
107
+ }
108
+
109
+ else{
110
+
111
+ return false;
112
+
113
+ }
114
+
115
+ }
116
+
117
+ }
118
+
119
+ ```
120
+
121
+
122
+
123
+ 配列が渡った場合、ループで1件ずつ確認して、どこかで見つかったらtrueを返す、としています。