Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3015
  • Last Modified:

compare variable to array PHP

Hello guys
i cannot find answer at the simple question how to compare variable to array.
for example i have some data from database
"one", "two", "three", "four", "five".
and i need to do:
if ($some_var = "two" and "three")
{
execute some code
}
is it possible to comapre $some_var with some array that i retreive from database without looping? just to get what i need...
0
nzrubin
Asked:
nzrubin
  • 5
  • 3
1 Solution
 
GarbsTheTurtleCommented:
You could use the in_array() function to find if the value of $someVar is contained in your $array. See http://www.php.net/in_array(). Also see simple sample below.

If you can show us what you're working with, we can help in a more specific manner. Can you share your code with us? What are you working with in your query results? What exactly are you trying to compare those results to?
<?
$someVar=3;
$array=array(1,2,3,4,5);
 
if(in_array($someVar,$array)){
     echo "$someVar is in the array.";
}//endif
?>

Open in new window

0
 
nzrubinAuthor Commented:
thanks for quick reply
i m trying to separate "customers" so they can see only particular projects, but sometimes customers can see the same projects:
for exml:
cust1 can see 1,2,3
cust2 can see 4
cust3 can see 1,3,4.




if ($roww->permission == 'Customer')
{
     $result_cust = mysql_query("SELECT * FROM pr_cust_permiss WHERE username = '$username'");
     while ($row_cust = mysql_fetch_object($result_cust))
      {
        $var = ???????????????????????? some array or something???;
      } // end while
//// select data for customers they can see only particular info which id located in "pr_cust_permiss" table
$result = mysql_query("SELECT * FROM pr_projects WHERE proj_id = '$var' ORDER BY proj_id DESC");
} //end if = customer,  else following
else
{
//// select all data
$result = mysql_query("SELECT * FROM pr_projects ORDER BY proj_id DESC");
}// end else
0
 
GarbsTheTurtleCommented:
Sounds like you're looking for something like this:
if ($roww->permission == 'Customer')
{
     $result_cust = mysql_query("SELECT * FROM pr_cust_permiss WHERE username = '$username'");
     $var = array(); // create empty array
     while ($row_cust = mysql_fetch_object($result_cust))
      {
        array_push($var,$row_cust['proj_id']); // add each project id to the array
      } // end while
      $projects = implode(',',$var); // convert the completed array to a comma-separated string
//// select data for customers they can see only particular info which id located in "pr_cust_permiss" table
$result = mysql_query("SELECT * FROM pr_projects WHERE proj_id IN ($projects) ORDER BY proj_id DESC"); // use the IN comparison to find values in the DB which match a value in the $projects list
} //end if = customer,  else following
else
{
//// select all data
$result = mysql_query("SELECT * FROM pr_projects ORDER BY proj_id DESC");
}// end else

Open in new window

0
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

 
nzrubinAuthor Commented:
O MAN!!!!!!!!!!!!!! OSANA!!!!!!!!!!!!!!!!!!!!!!

thanks very much!!!!!!!!!!!!
0
 
GarbsTheTurtleCommented:
On second thought, this will combine both queries and save the time of building the array in the while loop. Much more elegant, and quicker.
if ($roww->permission == 'Customer')
{
     $result = mysql_query("SELECT $ FROM pr_projects WHERE proj_id IN (SELECT proj_id FROM pr_cust_permiss WHERE username = '$username') ORDER BY proj_id DESC");
     
     
 
} //end if = customer,  else following
else
{
//// select all data
$result = mysql_query("SELECT * FROM pr_projects ORDER BY proj_id DESC");
}// end else

Open in new window

0
 
nzrubinAuthor Commented:
thanks very much!
0
 
nzrubinAuthor Commented:
thats great! last one !!!
0
 
nzrubinAuthor Commented:
it works work!!!!!!!!!!!!!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 5
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now