2017-02-27 20 views
0

多次元配列からキーを押さえ、次のオカレンスキーを得る方法。配列検索のキーを抑制し、次のキーを取得

$array_example = array(

    'default_group' => 'styling', 

    'general' => esc_html__('General', THEMETEXTDOMAIN), 

    // User can enter it here 
    // 'default_group' => 'styling', 

    'styling' => esc_html__('Styling', THEMETEXTDOMAIN), 

    // 'default_group' => 'styling', 

    'animate' => esc_html__('Animate', THEMETEXTDOMAIN), 
) 

[default_group]キーは固定キーですが、どの位置にあってもかまいません。

[default_group]キーが存在しないか、値が空の場合は、次のキーを取得する必要があります。

if(array_key_exists('default_group', $array_example) && !empty($array_example['default_group'])) { 

    $col_group_default = sanitize_text_field($array_example['default_group']); 

} else { 

    // Here I want to get the key BUT NOT [default_group]         

} 
+0

後で上のアレイを使用していない場合、その理由だけではなく '解除()' 'それの$ col_group_default'にそれを割り当てた後? – Darren

+0

私はこの後に完全な配列を必要とします –

+0

'else {...'で配列をループして他のキーを取得していますか? – Darren

答えて

0
$choice = ''; 
$default = array_search('default_group', array_keys($array_example)); 

if ($default && !empty($array_example[ $default ])) { 
    $choice = $array_example[ $default ]; 
} else { 
    $choice = isset($array_example[ $default + 1]) ? $array_example[ $default + 1] : $array_example[0]; 
} 
+3

ようこそstackov ....ああ待って、ここでは、 "ここではteh codez"答えがないことを知っている本当に役に立ちました。どうやって、あなたが投稿したコードがOPの問題を解決するのかを説明してください。 –

+0

'$ default + 1'を無効にする最後の要素が空である' $ default'のシナリオも含めた拡張コードです。 – RST

+0

@LJ youあなたが間違っていると思います。私はOpが既に使用している正確なロジックを使用しています。かなり自明の名前の関数。私がこのようなトピックにいくつかのコードを投げた場合、あなたが記述しているのは正しいでしょう。私はそうではありません。http://stackoverflow.com/questions/42529018/combing-value-of-same-elements – RST

関連する問題