2

I have a little problem. I need index an php array by array variable.

Example:

$structure = [];
$url = "/one/two/three";
$urlParts = explode("/", $url);

// I need convert $urlParts -> to array index ["one"]["two"]["three"]
// Expected result
$structure["one"]["two"]["three"] = true;

Is it possible in php language?

2
  • You want to do that with .htaccess or with PHP itself? Commented Jan 7, 2017 at 9:35
  • Variable $url is just for example. I need it for similar use-case in PHP. Commented Jan 7, 2017 at 9:38

1 Answer 1

3

You can use reference to get it like this:

<?php
$urlParts = ['one', 'two', 'three'];
$o = [];
$ref = &$o;
$len = count($urlParts);
foreach($urlParts as $k => $v)
{
    $ref[$v] = [];
    $ref = &$ref[$v];
}
$ref = true;
var_dump($o);
echo var_dump($o['one']['two']['three']);

output:

ei@localhost:~$ php test.php
array(1) {
  ["one"]=>
  array(1) {
    ["two"]=>
    array(1) {
      ["three"]=>
      &bool(true)
    }
  }
}
bool(true)
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.