PHPで以下のように配列のキーに指定外のキーが含まれてると、FALSEを返すメソッドを作りたいのですが、処理が具体的にイメージできるような適切なメソッド名を教えてください。


$keys = ['a', 'b', 'c']; // 指定するキー
$array = ['a'=>1, 'd'=>2]; // チェックする配列※指定外のdのキーが含まれる

public function hoge($array, $keys) {
  foreach(array_keys($array) as $key) {
    if (in_array($key, $keys) === FALSE) { return FALSE; }
  }
  return TRUE;
}

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2014/08/04 09:22:43
  • 終了:2014/08/11 09:25:05

ベストアンサー

id:sasada No.1

sasada回答回数1482ベストアンサー獲得回数1332014/08/04 10:08:27

ポイント34pt

 長くても良いなら、

is_key_in_the_keys($array, $keys)

短くするなら

in_the_keys($array, $keys)

くらいでどうでしょう

id:wankodon

参考になります。
回答どうもありがとうございます。

2014/08/04 12:32:57

その他の回答(2件)

id:sasada No.1

sasada回答回数1482ベストアンサー獲得回数1332014/08/04 10:08:27ここでベストアンサー

ポイント34pt

 長くても良いなら、

is_key_in_the_keys($array, $keys)

短くするなら

in_the_keys($array, $keys)

くらいでどうでしょう

id:wankodon

参考になります。
回答どうもありがとうございます。

2014/08/04 12:32:57
id:a-kuma3 No.2

a-kuma3回答回数4363ベストアンサー獲得回数18002014/08/04 11:29:41

ポイント33pt

こんなのは、どうでしょうか。

keys_within($keys, $array)
keys_within_only($keys, $array)


もしくは、array の prefix をつけて、こう。

array_keys_within($keys, $array)
array_keys_within_only($keys, $array)

# 標準の API と紛らわしいから、array の prefix は嫌だ、という考え方もある


標準 API の array_key_exists と似たような動きをするので、引数の並びも array_key_exists に合わせておくと、PHP'er には混乱が少ないかも、とか、思ってみたり。

id:wankodon

おお、なるほど!
回答ありがとうございます。

2014/08/04 12:34:30
id:pogpi No.3

pogpi回答回数355ベストアンサー獲得回数462014/08/04 12:36:13

ポイント33pt

nonyobunkeyで、どうですか。

id:wankodon

回答ありがとうございます。

2014/08/05 18:53:51

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません