'capacity' => "0.2",
'capacity' => 2000,
<?php
$string = "k1/k2/k3";
$arr = [
'k1' => [
'k2' => [
'k3' => [
'k4' => 'v'
]
]
]
];
$code = 'return $arr["'.str_replace('/', '"]["', $string).'"];';
$result = eval($code);
var_dump( $result );
<?php
function getArrayValueByPath($array, $path, $separator = "/")
{
// Разбиваем путь на ключи
$keys = explode($separator, $path);
// Текущий уровень массива - начинаем с корня
$current = $array;
foreach ($keys as $key) {
// Если ключа нет в массиве, то выбрасываем исключение
if (!isset($current[$key])) {
throw new \Exception(
"Ключ $key не найден в массиве по адресу '$path'"
);
}
// Переходим к следующему уровню вложенности массива
$current = $current[$key];
}
// Возвращаем значение по заданному пути
return $current;
}
// Использование функции:
$arr = [
"k1" => [
"k2" => [
"k3" => [
"k4" => "v",
],
],
],
];
$result = getArrayValueByPath($arr, "k1/k2/k3");
var_dump($result);
/** Результат выполнения:
array(1) {
["k4"]=>
string(1) "v"
}
*/
<?php
$string = "k1/k2/k3";
$keys = explode('/', $string);
$arr = [];
$current = &$arr;
foreach ($keys as $key) {
$current = &$current[$key];
}
$current = "last nested item";
var_dump($arr);
/*
array(1) {
["k1"]=>
array(1) {
["k2"]=>
array(1) {
["k3"]=>
&string(16) "last nested item"
}
}
}
*/
element.addEventListener('click', myFunc)
а не запускать ее выполнение. Отправляя myFunc('arg')
вы сразу же запускаете выполнение функции. Чтобы отправить параметры функции в обработчик нужно привязать контекст через .bind
, как уже вам написали в примере выше, либо использовать метод .handleEvent
из интерфейса EventListener
:function myFunc(event) {
console.log(this.arg);
}
.....
element.addEventListener('click', {
handleEvent: myFunc,
arg: 'arg_value'
});
myFunc('arg')
element.addEventListener( "click" , myFunc.bind(null, 'arg') );
ob_start();
echo "1 ";
ob_start();
echo "3 ";
$buffer2 = ob_get_clean();
echo "2 ";
$buffer1 = ob_get_clean();
echo $buffer1, $buffer2, PHP_EOL; // 1 2 3
$('#display').html('<a href="#" onclick="$.ajaxCall(\'app.screenChange\', \'appID={app:id}&page=1\', \'GET\'); return false;">Go</a>');
$('#display').html("<a href='#' onclick=\"$.ajaxCall('app.screenChange', 'appID={app:id}&page=1', 'GET'); return false;\">Go</a>");