Re: Array - partical path to the array's path....

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mike Dunlop wrote:
On Sep 27, 2005, at 10:22 AM, Scott Fletcher wrote:

[code]
  $array = array();

  $array['col1']['col2'] = "Test #1";
  $array['col3']['col2'] = "Test #2";

  $prefix = "['col3']['col2']";

  echo $array.$prefix;  //Spitted out result as "Test #2"...
[/code]

This is the simple code that I'm trying to make it work. Does anyone know
how does these work with array?  Some help here...

Thanks...
 FletchSOD


echo ${"array".$prefix};


really? did you test that?
doesn't work when I do it (the second expression does
- but doesn't answer the OPs question actually imho the
answer is not eval() either, because its slow and a security
headache):


$array = array();
$array["col3"]["col2"] = "Test #2";
$prefix = "[\"col3\"][\"col2\"]";
echo ${"array".$prefix}, ${"array"}["col3"]["col2"];



-----------------------------
try something like this instead?:
(code has been tested)

function getVal($arr, $path)
{
    $retval = null;

    if (!is_array($arr) || empty($arr) ||
        !is_array($path) || empty($path)) {
        return null;
    }

    while (count($path)) {
        $key = array_shift($path);
        if (!isset($arr[ $key ])) {
            return null;
        }
        $retval = $arr[ $key ];
        $arr    =& $arr[ $key ];
    }

    return $retval;
}
$ra = array();
$ra["col3"]["col2"] = "Test #2";
$path = array("col3","col2");
echo getVal($ra, $path);

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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux