Something like "WHERE" from SQL

Something like "WHERE" from SQL

am 23.11.2006 15:41:41 von kenoli

Is there a way to accomplish something like the "WHERE" syntax from SQL
in php? For example an equivalent to the following, which I know is
not proper php syntax.

foreach ($var as $key => $value WHERE $key != '3') {
echo "$key is $value";
}

or

implode (",", $_POST WHERE $_POST[name] != 'post');

I keep wanting to be able to do things like this.

--Kenoli

Re: Something like "WHERE" from SQL

am 23.11.2006 15:48:22 von Captain Paralytic

Kenoli wrote:
> Is there a way to accomplish something like the "WHERE" syntax from SQL
> in php? For example an equivalent to the following, which I know is
> not proper php syntax.
>
> foreach ($var as $key => $value WHERE $key != '3') {
> echo "$key is $value";
> }
>
> or
>
> implode (",", $_POST WHERE $_POST[name] != 'post');
>
> I keep wanting to be able to do things like this.
>
> --Kenoli

foreach ($var as $key => $value) {
if $key != '3'
echo "$key is $value";

Re: Something like "WHERE" from SQL

am 27.11.2006 17:47:53 von Rik

Kenoli wrote:
> Is there a way to accomplish something like the "WHERE" syntax from
> SQL in php? For example an equivalent to the following, which I know
> is not proper php syntax.
>
> foreach ($var as $key => $value WHERE $key != '3') {
> echo "$key is $value";
> }
>
> or
>
> implode (",", $_POST WHERE $_POST[name] != 'post');
>
> I keep wanting to be able to do things like this.


array_filter();
http://nl3.php.net/manual/en/function.array-filter.php

The problem here is you cannot filter on keys.

On could use array_keys(), array_filter() and then again array_flip() and
array_intersect_keys(). It's hardly better then a foreach loop however, and
a lot less readable.
--
Rik Wasmus