I have this right now to use a cookie value if exists otherwise use a default value:

$default_carat_min = "0.25";
    $default_carat_min = $_COOKIE["diamond-search_caratMin"];

I am going to have to do this with a lot of variables, and its going to get really cluttered/ugly. So I am trying to come up with a cleaner way of writing this.

I tried:

$default_carat_min = $_COOKIE["diamond-search_caratMin"] | "0.25";

Which did not work.

I can do this:

$default_carat_min = $_COOKIE["diamond-search_caratMin"] ? $_COOKIE["diamond-search_caratMin"] : "0.25";

But I don't like how I have to repeat the $_COOKIE twice. I am wondering if there is a way to write it something like my 2nd example?

Question author Jd-isaacks | Source



PHP 5.3 added a shortform for the ternary operator:

$default_carat_min = $_COOKIE["diamond-search_caratMin"] ?: "0.25";

Which evaluates to the left side if the left side is true, and evaluates to the right side otherwise.

Prior to 5.3, however, you'd have to use the long form.

Answer author Daniel-vandersluis

Ask about this question here!