[thelist] Multiple PHP Varialbes and Single Quote Syntax Question

Peter Dockister webdevelopa at gmail.com
Mon Dec 4 02:53:05 CST 2006


Jono,

I agree with Rick. You should always try to avoid multiple sequential 'if'
statements primarily for reasons of clarity and  code  well-being.

You should substitute if statements with a single switch statement.

----
Webdevelopa

On 12/3/06, Rick den Haan <rick.denhaan at gmail.com> wrote:
>
> Jono,
>
> > --------------------
> > QUESTIONS
> > --------------------
> >
> > 1. I would like to add a few more variables to this code but am
> > wondering if there is a more efficient way to write this?
> >
> > Would this work?:
> >
> > <? if ($filename=='cool-site.php')
> >         {$parent = 'cool-site.php'; && $thisPage = 'Cool Site'; &&
> > $PageHeader = 'Cool Site Header Text Here'; }
> > ?>
> >
> If you drop the &&, yes. If the IF-statement passes, everything between
> the curly brackets {} will be executed. So, yes, you could do that.
>
> Personally, I'd recommend using a switch[1] in this case, though. You
> can read more about it on the PHP.net website, but here's the basics in
> your situation:
>
> <?php
> switch($filename)
> {
>     case 'cool-site.php':
>         $parent = 'cool-site.php';
>         $thisPage = 'Cool Site';
>         $PageHeader = 'Cool Site Header Text Here';
>     break;
> }
> ?>
>
> Repeat everything from case to break for each page. Just keep it within
> the curly brackets.
>
> > 2.  I need a little help with escaping a single quote used for
> > possession, in my Pseudo PHP database.  How would I correctly write
> > "Site's" in PHP?
> >
> > Is this correct?:
> >
> > if ($filename =='cool-site.php')
> >     { $PageHeader = "Cool Site\'s Header Text Here'; }
> >
>
> Close. If you open a string with a double quote, you have to close it
> with a double quote as well. The same with single quotes. As for
> escaping, that would depend on your choice for opening and closing the
> string. If you open and close with a double quote, you'll need to escape
> double quotes inside the string. If you open and close with a single
> quote, you'll need to escape single quotes. Example:
>
> CORRECT:
> $PageHeader = "Cool Site's Header Text Here";
> $PageHeader = 'Cool Site\'s Header Text Here';
>
> INCORRECT:
> $PageHeader = "Cool Site\'s Header Text Here";
> $PageHeader = 'Cool Site's Header Text Here';
>
> The first incorrect option will simply output the \ as well. The second
> one will throw an error, because, as far as PHP is concerned, the string
> is "Cool Site", and where there's "s Header Text Here" it will expect a
> semi-colon.
>
> > Any tips or help are appreciated.  I am still learning my around basic
> PHP.
> >
> > Thanks,
>
> No problem. I would recommend staying clear of the short open tags,
> though. Try to use "<?php" instead of just "<?". For one thing, PHP 6
> will no longer support the short form (can't find the source at the
> moment). For another, not all webservers running PHP 4 or 5 have the
> option enabled. It can also be confusing with XML-declarations, as they
> have the form of "<?xml".
>
> Good luck, and feel free to ask away, on or off list :)
>
> Rick.
> --
>
> * * Please support the community that supports you.  * *
> http://evolt.org/help_support_evolt/
>
> For unsubscribe and other options, including the Tip Harvester
> and archives of thelist go to: http://lists.evolt.org
> Workers of the Web, evolt !
>



More information about the thelist mailing list