'Kötü' değerleri dizi oluşturmak için nasıl

4 Cevap php

Ben sunulan bilgilere dayalı bir yanıt kodu alma, bir form ve sırayla işliyorum. Elimde yaklaşık 40 yanıt kodları (ve onların anlam) bir liste var ve önceden tanımlanmış bir dizi karşı denetler ve belirli bir değer döndüren bir 'if' deyimi oluşturmak için çalışıyorum.

Bu nasıl sadece emin değil

First pass conceptually:

$bads = array (1,2,3,4,5,6)


if ($output['responsecode'] == (any value in $bads) {
echo "you suck";
}

EDIT - Still receiving errors

Ben aşağıdaki kodu kullanıyorum:

$bad_resp1 = array("D","M","A","B","W","Z","P","L","N","C","U","G","I","R","E","S","0","O","B");
$bad_resp2 = array("N","P","S","U");
$bad_resp3 = array("200","201","202","203","204","220","221","222","223","224","225","250","261","262","263","264","300","400","410","411","420","421","430","440","441","460","461"); 

sonra 'eğer' deyimi çağırıyor:

if (in_array($output['response1'], $bad_resp1) || in_array($output['response2'], $bad_resp2) || in_array($output['response3'], $bad_resp3)) {
            Header("Location: fail.php");
        }

Ben aşağıdaki hata (lar) olsun:

Warning: in_array() expects parameter 2 to be array, null given in C:\xampp\htdocs\site\xyz.php on line 362

Warning: in_array() expects parameter 2 to be array, null given in C:\xampp\htdocs\site\xyz.php on line 362

Warning: in_array() expects parameter 2 to be array, null given in C:\xampp\htdocs\site\xyz.php on line 362

4 Cevap

in_array

if(in_array($output['responsecode'], $bads))
{

}

Lütfen kodları sıralı iseniz Ayrıca, size range dizi oluşturmak için kullanabilirsiniz.

$bad = range(1, 10);

Kullan in_array()

if (in_array($output['responsecode'], $bads)) { echo "you suck"; }

Nasıl bir $errors dizi var ve bir hata varsa sadece bunu eklemek konuda. $errors dizisi boş değilse, echo "All aboard the fail train!"

Başkalarına tavsiye ettiler, bunu yapabilirsiniz:

if (in_array($output['responsecode'], $bads))
    ....

O $ bads dizi Bir gezinmeyi gerektirmez, çünkü Ancak, bu daha verimli:

$bads = array (1 => null, 2 => null, 3 => null, 4 => null,5 => null, 6 => null);


if (array_key_exists($output['responsecode'], $bads))
    ....