Solved

compare variable to array PHP

Posted on 2008-06-09
8
2,997 Views
Last Modified: 2013-12-13
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
Comment
Question by:nzrubin
  • 5
  • 3
8 Comments
 
LVL 16

Expert Comment

by:DrNikon224
Comment Utility
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
 
LVL 4

Author Comment

by:nzrubin
Comment Utility
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
 
LVL 16

Accepted Solution

by:
DrNikon224 earned 50 total points
Comment Utility
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
 
LVL 4

Author Comment

by:nzrubin
Comment Utility
O MAN!!!!!!!!!!!!!! OSANA!!!!!!!!!!!!!!!!!!!!!!

thanks very much!!!!!!!!!!!!
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 16

Expert Comment

by:DrNikon224
Comment Utility
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
 
LVL 4

Author Closing Comment

by:nzrubin
Comment Utility
thanks very much!
0
 
LVL 4

Author Comment

by:nzrubin
Comment Utility
thats great! last one !!!
0
 
LVL 4

Author Comment

by:nzrubin
Comment Utility
it works work!!!!!!!!!!!!!
0

Featured Post

Easy Project Management (No User Manual Required)

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Generating table dynamically is the most common issue faced by php developers.... So it seems there is a need of an article that explains the basic concept of generating tables dynamically. It just requires a basic knowledge of html and little maths…
These days socially coordinated efforts have turned into a critical requirement for enterprises.
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now