人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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;
}


●質問者: wankodon
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● sasada
●34ポイント ベストアンサー

長くても良いなら、

is_key_in_the_keys($array, $keys)

短くするなら

in_the_keys($array, $keys)

くらいでどうでしょう


wankodonさんのコメント
参考になります。 回答どうもありがとうございます。

2 ● a-kuma3
●33ポイント

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

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 には混乱が少ないかも、とか、思ってみたり。


wankodonさんのコメント
おお、なるほど! 回答ありがとうございます。

3 ● pogpi
●33ポイント

nonyobunkeyで、どうですか。


wankodonさんのコメント
回答ありがとうございます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ