Получить ключи массива, когда в аргументе в PHP - PullRequest
0 голосов
/ 02 декабря 2010

Я передаю некоторые массивы в качестве аргументов внутри функции. Например:

test($someArray[2][3]);

В этом случае функция получает значение, сохраненное в (2,3), но есть способ получить значение ключа (2,3) внутри функции для работы? Функция должна использовать положение значения x, y для некоторых вычислений.

Спасибо!

Ответы [ 3 ]

1 голос
/ 02 декабря 2010

Нет, индекс будет выполнен до , когда функция его получит.

Так что, если ваш код ...

$someArray = array(
   2 => array(3 => 'Hello');
);

function test($arg) {

}

test($someArray[2][3]);

Тогда $arg будет строкой Hello. Он не знает и не заботится о том, откуда он взялся.

1 голос
/ 02 декабря 2010

Не так, нет.Если вы вызываете test($someArray[2][3]), тогда PHP будет передавать только значение, но не ссылку, откуда это значение.Его чище, чтобы передать значения отдельно в любом случае

function test($x, $y, $value) { /* do something */ }
0 голосов
/ 02 декабря 2010

Вы передаете только один элемент на [2][3];Однажды внутри функции нет массива.Если вам нужны позиции, вы должны передать массив / элемент и индексы отдельно:

test($someArray, 2, 3); // if you might access other elements too

или:

test($someArray[2][3], 2, 3); // if you don't need other elements
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...