[WordPress] Foreach ループを使用して配列を検証する方法ですか?

スポンサーリンク

Question

この コードの作業 を私の色のオプションを検証するために使用している

 if ( !function_exists( 'sanitize_hex_color' ) ) {
     function sanitize_hex_color($color) {
        if ( '' === $color )
     return '';

  // 3 or 6 hex digits, or the empty string.
  if ( preg_match('|^#([A-Fa-f0-9]{3}){1,2}$|', $color ) )
    return $color;

  return null;
  }
}

function validate_color_option($options){
//Check if hex color and sanitize
$options['wrapper_background_color'] = sanitize_hex_color($options['wrapper_background_color']);
$options['display_bg'] = sanitize_hex_color($options['display_bg']);

//Strips all html from input type text (NOT a color field)
$options['big_heading'] = wp_strip_all_tags($options['big_heading']);

return $options;

}//Function end

しかし多くのカラー フィールドの私の色を配列に格納したいと思いますが持ってされますので、foreach ループを行うし、sanitize_hex_color 関数を介して私の色のオプションを検証します。このようなもの:

if ( !function_exists( 'sanitize_hex_color' ) ) {
     function sanitize_hex_color($color) {
        if ( '' === $color )
     return '';

  // 3 or 6 hex digits, or the empty string.
  if ( preg_match('|^#([A-Fa-f0-9]{3}){1,2}$|', $color ) )
    return $color;

  return null;
  }
}

function validate_color_option($options){
  $colors = array(
  'color1' => $options['wrapper_background_color'],
  'color2' => $options['display_bg']
  );

   foreach($colors as $key => $val) {
   $colors[$key] = sanitize_hex_color($val);
   }

   //Strips all html from input type text (NOT a color field)
   $options['big_heading'] = wp_strip_all_tags($options['big_heading']);

   return $options;

}//Function end

が正直なところ私は見当を foreach ループと私の値を戻すし、戻り値を使用して検証を行う方法: (君たちは私を助けることができるか?ありがとうございます !

答え

使用

array_map()

$colors = array();
array_map("sanitize_hex_color", $colors);

各色のための結果の配列を返す必要があります。処理するさらにどういうわけかそれから

http://stackoverflow.com/questions/27552283/how-to-validate-array-using-foreach-loop

スポンサーリンク

Leave a Reply