if the string is not set, you will get an "undefined index" error when
calling isused(). that's just the problem. you can't reference an
unset string without doing isset first, so putting isset inside the
function is simply too late.

On 18/07/07, C.R.Vegelin <[EMAIL PROTECTED]> wrote:
Hi OLav,

what about this ?
$language = isused($_SERVER["HTTP_ACCEPT_LANGUAGE"]);
echo "language is " . $language;

function isused($variable)
{  return isset($variable) && $variable != "" ? $variable : "*";
}

HTH, Cor

----- Original Message -----
From: "Olav Mørkrid" <[EMAIL PROTECTED]>
To: "PHP General List" <php-general@lists.php.net>
Sent: Wednesday, July 18, 2007 1:24 PM
Subject: [PHP] repetition of tedious references


> consider the following statement:
>
> $language =
> isset($_SERVER["HTTP_ACCEPT_LANGUAGE"]) &&
> $_SERVER["HTTP_ACCEPT_LANGUAGE"] != "" ?
> $_SERVER["HTTP_ACCEPT_LANGUAGE"] : "*";
>
> when using strings in arrays that may be non-existing or empty, you
> have to repeat the reference  *three* times, which gets excessive and
> unreadable.
>
> is there any way to only have to write
> $_SERVER["HTTP_ACCEPT_LANGUAGE"] only once?
>
> i know it's possible to supress "is not set" with @, but that just
> seems wrong in case there really is an error in the statement.
>
> i love php, but this is one of my pet peeves.
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>




--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to