/** * @param $key (String) * @param $replace (Array) * @return (String) */ public function get($key, $replace = []) { $return = $key; $keys = explode('.', $key); $return = ArrayHelper::get($this->data, $key, $return); if (is_string($return)) { $return = $this->replaceValue($return, $replace); } else { $return = $key; } return $return; }
<?php namespace Engine; use Engine\Helpers\ArrayHelper; require_once 'autoload.php'; // ArrayHelper::get test $data = ['orange', 'foo' => "bar", 'arr' => ['orange', 'blue' => ['cat', 'dog']], 'green', 'blue']; echo "<pre>"; var_dump(['>>> ArrayHelper::get', 'data source' => $data, 'tests' => ['arr.blue.1' => ArrayHelper::get($data, 'arr.blue.1', 'default value'), '2' => ArrayHelper::get($data, '2', 'default value'), 'arr.blue' => ArrayHelper::get($data, 'arr.blue', 'default value'), 'arr.blue.2' => ArrayHelper::get($data, 'arr.blue.2', 'Not found')]]); echo "</pre>"; // ArrayHelper::set test $data = ['orange', 'foo' => "bar", 'arr' => ['orange', 'blue' => ['cat', 'dog']], 'green', 'blue']; echo "<pre>"; var_dump(['>>> ArrayHelper::set', 'original data' => $data]); echo "</pre>"; ArrayHelper::set('arr.blue.0', 'updated', $data); echo "<pre>"; var_dump(['ArrayHelper::set("arr.blue.0", "updated", $data)' => $data]); echo "</pre>"; ArrayHelper::set('baz.foo', 'updated', $data); echo "<pre>"; var_dump(['ArrayHelper::set("baz.foo", "updated", $data)' => $data]); echo "</pre>"; // ArrayHelper::has test echo "<pre>"; var_dump(['>>> ArrayHelper::has', 'data' => $data, 'ArrayHelper::has("arr.blue.1", $data)' => ArrayHelper::has('arr.blue.1', $data), 'ArrayHelper::has("arr.orange", $data)' => ArrayHelper::has('arr.orange', $data)]); echo "</pre>";