Help - Search - Members - Calendar
Full Version: PHP variables and stuffs
Forums > Resource Center > Webmasters' Corner > Webmasters' Corner Resolved Topics
Mikeplyts
I'm working on a little something-something and I was wondering if I could use variables or placeholders or whatever in a switch function based on the URL. Sort of like Apache.

Um, something like this:
CODE
<?php
$uri = $_SERVER['SCRIPT_NAME'];

switch($uri) {
    case '/$1/$2/$3/index.php':
        echo 'Under 3 directories.';
        break;
    case '/$1/$2/$3/$4/index.php':
        echo 'Under 4 directories.';
        break;
}
?>


Get what I mean? And yes, I've tried the above but it doesn't seem to work. tongue.gif Help would be appreciated.
mipadi
No, but something like the following could work:

CODE
<?php

$uri = $_SERVER['SCRIPT_NAME'];
$dirs = split("/", $uri)     // Assuming split("/", "/$1/$2/$3/index.php")
                             // returns ["", "$1", "$2", "$3", "index.php"]
$dirs = count($dirs) - 2;    // Get rid of extra 2 entries (empty string at
                             // beginning and "index.php" at end)
switch ($dirs) {
case 3:
    echo "Under 3 directories";
    break;
case 4:
    echo "Under 4 directories";
    break;
}
>?
fixtatik
You could also do it like this:

CODE
echo 'Under ' . (substr_count($_SERVER['SCRIPT_NAME'], '/') - 1) . ' directories';

substr_count() counts the occurrences of a string within a string.

Side note, split() works, but it was deprecated in PHP5.3, and they got rid of it in PHP6. preg_split() is the new one, or for simpler purposes, explode().
Mikeplyts
Works great. Thanks guys.

Topic Closed. mellow.gif
manny-the-dino
Topic Closed, and Moved to Resolved Topics. Please PM a moderator if you would like this reopened.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.