sql >> データベース >  >> RDS >> Mysql

PHP-厳格な標準:変数のみを参照で渡す必要があります

    問題はifステートメントにあります:

    end(array_keys($params['territories']))
    

    array_keys()の出力を渡すことはできません 参照によって渡すことができるようにするには、最初に変数に割り当てる必要があります。このように:

    $a = array_keys($params['territories']);
    if ($key == end($a)) {
    

    なぜあなたはこれをしなければならないのですか?

    end() 配列の内部ポインタを最後の要素に設定するため、これは参照によって行われます(endの戻り値はすべて参照によって行われるため、割り当てる必要がないことにも気付くでしょう)。したがって、array_keys()の戻り値を渡すことはできません。 参照によって、以下を参照によってのみ渡すことができるため、参照によって:

    • 変数、つまりfoo($ a)
    • 新しいステートメント、つまりfoo(new foobar())
    • 関数から返される参照、つまり:

    参照による受け渡しの詳細については、マニュアルを参照してください: http:// php .net / manual / en / language.references.pass.php



    1. greendaoを使用して2つのテーブルから複数の列を選択します

    2. インメモリOLTPデータベースとテーブルの作成とアクセス

    3. ハイブリッドクラウドにデプロイされたPostgreSQLのディザスタリカバリオプション

    4. トランザクション内でautocommit=0を設定すると、何かが行われますか?