Адекватно не смог обозвать тему. Суть проблемы: есть строка вида "index|error|exist", есть массив: Код (Text): $lang = array( 'index' => array( 'exist' => 'всякоразный текст', ), ); Нужно имя эту строку - вытащить значение из массива. Вложенность может быть любая. Придумал пока 1 выход - строку превратить с preg_replace в строку $lang[index][..][..] и потом добавив пару символов, засунуть это в eval. Но это все плохо и криво. Предложения?
Код (Text): $lang = array( 'index' => array( 'error' => array ( 'exist' => 'всякоразный текст', ) ), ); function getLangWord($address){ global $lang; $address = '[\'' . str_replace('|', '\'][\'', $address) . '\']'; return eval('return $lang' . $address . ';?>'); } echo getLangWord('index|error|exist'); die; Но это действительно бред