5

特定の配列に対して何らかの処理を実行する必要があるこのphp関数があります。

processArray($arrayToProcess) {

  $arrayToProcess['helloStackOverflow'] = TRUE;
}

その後、コードは以下を呼び出します。

$niceArray = array('key' => 'value');
processArray($niceArray);

キー「helloStackOverflow」は、processArray 関数の外では使用できません。私は次のように呼び出してみました:

processArray(&$niceArray);

「&」を使用すると役立ちますが、警告が発生します。

非推奨の関数: 呼び出し時の参照渡しは非推奨になりました。参照渡しにしたい場合は populateForm_withTextfields() の宣言を修正

そこに & を試してみましたが、コードが停止するだけです。

どうすればいいですか?

4

3 に答える 3

16

関数の呼び出しではなく、関数で参照を定義する必要があります。

function processArray(&$arrayToProcess) {
于 2012-05-07T13:39:44.747 に答える
8
processArray(&$arrayToProcess) {

  $arrayToProcess['helloStackOverflow'] = TRUE;
}

参照を PHP の方法で実装します。

参照に関する有用な情報については、http://fi2.php.net/referencesを参照してください。

于 2012-05-07T13:39:07.120 に答える
5
processArray(&$arrayToProcess) {

  $arrayToProcess['helloStackOverflow'] = TRUE;
}

参照の受け渡しは、関数が呼び出されたときではなく、関数の宣言時に行われるようになりました。

http://php.net/manual/en/language.references.pass.php

完全なドキュメント用。

于 2012-05-07T13:38:55.170 に答える