2016-12-26 2 views
-2

Я создал функцию в этом стиле:ключи массива доступа, возвращаемые функцией без переменной

execQuery("SELECT id FROM contadeusuario WHERE session='$sessao'")['numRows'] 

Я всегда использовать этот синтаксис, но в последних проектах, когда я загрузить их в производство, это Безразлично Не работай.

execQuery(string $query) возвращает массив с ['status'], ['result'] e ['numRows'], на других серверах мне нужно присвоить значение переменной.

$NR = execQuery("SELECT id FROM contadeusuario WHERE session='$sessao'"); 

, а затем использовать

$NR['numRows'] 

Как я могу настроить свой сервер таким образом, он всегда работает, как и в первом способе? Я искал опцию в файлах и форумах .ini, но ничего не нашел

+3

Вопросы на португальском языке должны быть заданы в [Stack Overflow em Português] (http://pt.stackoverflow.com) – Phiter

+0

Также возможен дубликат: [Массив доступа, возвращаемый функцией в php] (http: // stackoverflow .com/вопросы/1459377/доступ массив возвращается-на-а-функция-в-РНР) – Phiter

ответ

0

Как видно из the manual, разыменование массива доступно только на PHP 5.4 и выше. (See the new features for PHP 5.4)

<?php 
function getArray() { 
    return array(1, 2, 3); 
} 

// on PHP 5.4 
$secondElement = getArray()[1]; 

// previously 
$tmp = getArray(); 
$secondElement = $tmp[1]; 

// or 
list(, $secondElement) = getArray(); 
?> 

Ваш рабочий сервер использует PHP версии, ниже 5.4, так что вы должны либо обновить его или придерживаться временных переменных.

Смежные вопросы