| @@ 408-419 (lines=12) @@ | ||
| 405 | // Wildcard Key |
|
| 406 | if (preg_match($this->wildcards, $key) && is_array($data) && ! empty($data)) { |
|
| 407 | // Shift the first item of the array |
|
| 408 | if (preg_match('/^:(index|item)\[\d+\]$/', $key)) { |
|
| 409 | for ($x = substr($key, 7, -1); $x >= 0; $x--) { |
|
| 410 | if (empty($data)) { |
|
| 411 | return false; |
|
| 412 | } |
|
| 413 | $item = array_shift($data); |
|
| 414 | } |
|
| 415 | } elseif ($key == ':last') { |
|
| 416 | $item = array_pop($data); |
|
| 417 | } else { |
|
| 418 | $item = array_shift($data); |
|
| 419 | } |
|
| 420 | $data =& $item; |
|
| 421 | } else { |
|
| 422 | if ( ! isset($data[$key]) || ! is_array($data[$key])) { |
|
| @@ 466-477 (lines=12) @@ | ||
| 463 | // Wildcard Key |
|
| 464 | if (preg_match($this->wildcards, $key) && is_array($data) && ! empty($data)) { |
|
| 465 | // Shift the first item of the array |
|
| 466 | if (preg_match('/^:(index|item)\[\d+\]$/', $key)) { |
|
| 467 | for ($x = substr($key, 7, -1); $x >= 0; $x--) { |
|
| 468 | if (empty($data)) { |
|
| 469 | return false; |
|
| 470 | } |
|
| 471 | $item = array_shift($data); |
|
| 472 | } |
|
| 473 | } elseif ($key == ':last') { |
|
| 474 | $item = array_pop($data); |
|
| 475 | } else { |
|
| 476 | $item = array_shift($data); |
|
| 477 | } |
|
| 478 | $data =& $item; |
|
| 479 | } else { |
|
| 480 | if ( ! isset($data[$key])) { |
|