Reputation: 29
all!
So, I have this code:
<?php
$clienthwid = $_POST["clienthwid"];
$clientip = $_POST["clientip"];
$hwid_logs = "hwid_log.txt";
$ip_logs = "ip_log.txt";
$handle_ip = fopen($ip_logs, 'a') or die("404 file not found");
$handle_hwid = fopen($hwid_logs, 'a') or die("404 file not found");
$client_whitelist = array (
// put hwids and ip here
"hwid" => "123456789", "12345678",
"ip" => "123.456.789", "123.456.788",
);
//check if client hwid or ip is in the array
if (in_array($clienthwid, $client_whitelist)) {
echo "TRUE";
fwrite($handle_hwid, $clienthwid."\n");
fwrite($handle_ip, $clientip."\n");
} else {
echo "FALSE";
fwrite($handle_hwid, $clienthwid."\n");
fwrite($handle_ip, $clientip."\n");
}
?>
So, for the
in_array($clienthwid, $client_whitelist);
I would like to know how to do this
in_array($clienthwid and $clientip, $client_whitelist)
How do I check if two variables are in an array?
Upvotes: 1
Views: 1141
Reputation: 9113
The function bellow will check if all given items are in the target array. It makes use of a foreach and is fairly simple.
if (multiple_in_array(array('onething', 'anotherthing'), $array)) {
// 'onething' and 'anotherthing' are in array
}
function multiple_in_array($needles = array(), $haystack = array())
{
foreach ($needles as $needle) {
if (!in_array($needle, $haystack)) {
return false;
}
}
return true;
}
Upvotes: 0
Reputation: 1443
Using array_intersect
$array = array("AA","BB","CC","DD");
$check1 = array("AA","CC");
$check2 = array("EE","FF");
if(array_intersect($array, $check1)) {
echo "Exist";
}else{
echo "Not exist";
}
if(array_intersect($array, $check2)) {
echo "Exist";
}else{
echo "Not exist";
}
Refer: 3v4l
Upvotes: 1
Reputation: 8613
Just use two in_array
statements.
in_array($clienthwid, $client_whitelist) && in_array($clientip, $client_whitelist)
This would only be true if both are in $client_whitelist
.
If you want to determine if at least on is in there use the ||
or operator.
//check if client hwid or ip is in the array
if (in_array($clienthwid, $client_whitelist) || in_array($clientip, $client_whitelist)) {
echo "TRUE";
fwrite($handle_hwid, $clienthwid."\n");
fwrite($handle_ip, $clientip."\n");
} else {
echo "FALSE";
fwrite($handle_hwid, $clienthwid."\n");
fwrite($handle_ip, $clientip."\n");
}
Upvotes: 2