Подскажите, пожалуйста, как обратиться к значению функции, если она должна вернуть массив значений? Код (Text): function getFieldName($idx) { $nr = 1; while ($row = mysqli_fetch_array($result, MYSQLI_BOTH)) { if ($nr=$idx) { $field = array(name=>$row['COLUMN_COMMENT'], type=>$row['DATA_TYPE'],href=>$row['REFERENCED_TABLE_NAME']); break; }; $nr++; } return $field; }; Обращение вида: getFieldName(1)[0] или getFieldName(1)(0) вызывает ошибку.
Везде, кроме пыха, к слову. Тоже об это часто по-привычке ноги сбивал. Просто надо смириться, пых не может так.
Можно в питоне и насколько помню в руби. Но там все в виде объектов сделано поэтому назвать чисто функцией не правильно. В других языках я такого не встречал, в том числе пхп. Молодцы, но чуток опоздали.
Это и без ООП юзабельно оч. Обращаться напрямую к результату функции через ее вызов как к полноценной переменной/объекту это крайне ОК.
это провоцирует писать рукожопов такой код (особенно когда код функции лежит нерядом. а че. удобно. и работает. и пох что будет запрос в бд на каждый чих) Код (PHP): function getAllValues() { return Db::getRows('SELECT val FROM table ...'); } showMaxValue( getAllValues()[0], getAllvalues()[1] );// а если это еще в цикл завернуть 8-[ а раньше, даже рукожопу пришлось бы сначала получить результат, а уже потом его юзать. труднее было выстрелить себе в ногу.