开发者

How to build array of 'bad' values

开发者 https://www.devze.com 2022-12-31 17:38 出处:网络
I am processing a form and in turn, receiving a response code based on the information submitted. I have a list of approximately 40 response codes (and their meaning) in my hands and am trying to buil

I am processing a form and in turn, receiving a response code based on the information submitted. I have a list of approximately 40 response codes (and their meaning) in my hands and am trying to build an 'if' statement that checks against a predefined array and returns a specific value.

Just not sure how to do this

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

I am using the following code:

$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"); 

then calling the 'if' statement:

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

I get the following error(s):

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


Use in_array()

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


in_array

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

}

Also, if your codes are sequential, you can use range to generate the array.

$bad = range(1, 10);


How about you have a $errors array and only add to it if there's an error. If the $errors array is not empty, echo "All aboard the fail train!"


As others have suggested, you can do:

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

However, this is more efficient because it does not require a traversal of the $bads array:

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


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

精彩评论

暂无评论...
验证码 换一张
取 消