проблема со временем вызова с php - PullRequest
0 голосов
/ 29 октября 2009
function get_arr($arr)
{
    unset($arr[0]);
}
$arr1 = array(1,2);
$arr2 = array(1,2);

get_arr(&$arr1);
get_arr($arr2);
echo count($arr1);
echo count($arr2);

Я получил:

Предупреждение. Передача по ссылке устарела; Если вы хотели бы чтобы передать его по ссылке, измените объявление get_arr (). если ты хотел бы включить время звонка переход по ссылке, вы можете установить allow_call_time_pass_reference to true в вашем файле INI

Но вывод:

12

Это означает, что действует ссылка на время вызова.

Почему два места выводят противоречивые сообщения?

Ответы [ 4 ]

3 голосов
/ 29 октября 2009

Устаревшее не означает неработоспособность, просто не рекомендуется.

1 голос
/ 29 октября 2009

Передача по ссылке во время вызова устарела , это означает, что она больше не должна использоваться и может не работать в будущей версии PHP. Это не значит, что это не работает.

0 голосов
/ 29 октября 2009

источник путаницы заключается в том, что сообщение об ошибке является расплывчатым, в нем должно быть написано «чтобы избавиться от этого предупреждения, установите для параметра allow_call_time_pass_reference значение true» вместо «для включения передачи по времени вызова по ссылке».

0 голосов
/ 29 октября 2009

Это предупреждение.

Это просто предупреждает вас, но в то же время надеется, что вы знаете, что делаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...