Doğrulama için PHP karşılaştırın Dizi Değerler

0 Cevap php

Tamam, yani ayı ile beni oldukça özelleştirilmiş bir sorum var.

Ben temelde farklı olasılıkları bir sürü ile karşılaştırmak istediğiniz veri iki takım var.

$data  = array(
             'object'=>'ball', // Should check VALID (Rule 2)
             'color'=>'white', // VALID (Rule 2)
             'heavy'=>'no',    // VALID (Rule 1)
             'name'=>'wilson', // VALID (Rule 5)
             'funny'=>'no'     // INVALID (Rule 4)
              );

$data_2 = array(
             'object'=>'box',   // VALID (Rule 2)
             'color'=> 'blue',  // VALID (Rule 2)
             'texture'=>'hard', // VALID (Rule 1)
             'heavy'=>'yes',    // INVALID (Rule 4)
             'stupid'=>'no'     // INVALID (Rule 4)
                                // Name is INVALID because it is missing (Rule 3)

);

$required = array(
             'color'=>array('white','blue'),
             'heavy'=> 'no',
             'name'
);

$errors = array(
         'color'=>array('required'=>'Color is Required','invalid'=>'Color invalid')
         'object'=>array('invalid'=>'Object invalid'),
         'texture'=>array('invalid'=>'Texture invalid'),
         'heavy'=>array('required'=>'Heavy is Required','invalid'=>'Heavy invalid'),
         'name'=>array('required'=>'Name is Required','max_char'=>'Name exceeds char limit',
         'invalid'=>'Invalid item provided',          
);

$blueprint = array(
                 'object'=>array('box','ball'),
                 'color'=>array('blue','white'),
                 'texture'=>'hard',
                 'heavy'=>'no',
                 'name'
             );

Ben ne yapmak istiyorum $data $blueprint ile ve aşağıdakilerden emin olun çalıştırılır:

  1. $data anahtar / değer çifti bir $blueprint anahtar / değer çiftini eşleşirse, $data 'sk / v geçerlidir
  2. $data anahtar / değer çifti bir $blueprint tuşuna ve iç içe diziden bir değer eşleşirse, $data 'sk / v geçerlidir
  3. $data dizisi $blueprint bulunan bir anahtar / değer çifti çıkarırsa o {yer değilse, $data 'sk / v hala geçerli olabilir [(3)]} dizisi
  4. $data dizisi $blueprint, $data 'sk / v bulunmayan bir anahtar / değer çifti malzemeleri ise geçersiz
  5. Bir anahtar / değer çifti $data tuşu tanımlı anahtarı olmadan $blueprint değeri eşleşirse, $data 'sk / v hala geçerli olabilir. $blueprint tanımlanmış bir anahtar ve değer varsa Ancak, $data 'sk / h geçerli olacak kural 1 gereksinimleri karşılaması gerekir.
  6. Ben bir $data 'sk / v Bu karakter sınırını aşarsa, $data sk $blueprint k / v çeşitli bir karakter limiti koymak istiyorum / v geçerli değil

Bir $data 'sk / v geçersiz ise, o zaman her nasılsa bu özel k bir hata ilişkilendirmek istiyorum / v o Belki de hata (aştı karakter sınırı, genel hata vb) neden geçersiz olduğunu açıklayan Üçüncü bir dizi tanımlanabilir olacaktır?

Bu o işlevin kapsamı dışında olup olmadığından emin değil array_intersect_assoc içine baktı ama ettik. Ayrıca, orada $blueprint değerler iyi bir miktar olabilir, bu yüzden ben mümkün olduğunca çok yönlü bir şey gerekir.

Ben çok karıştı sormak için çekinmeyin, bu yazarken ben bu doğru olduğunu düşünüyorum, benim beyin nevi eridi. Ben daha kapalı sadece tek tek her bir k / v doğrulayarak muyum?

Hadi orada brainiac kim olduğunu görelim.

0 Cevap