2017-09-26 7 views
1

書き込みコンテキストで関数の戻り値を使用できません。PHP:書き込みコンテキストで関数の戻り値を使用できません。

すべての検索結果の応答は、空の関数と何か関係がありますが、私はそれを使用していませんか? foreach

foreach ($permission as explode(',', $permissionString)) { // line 44 
    if ($this->hasPermission($permission)) 
     $count++; 
} 
+4

あなたの変数間違った順序です。 'foreach(explode( '、'、$ permissionString)$ permission)'にする必要があります。 [ドキュメントに記載されているように](http://php.net/manual/en/control-structures.foreach.php): 'foreach(array_expression as $ value)'。 –

答えて

2

asの左側の式は、反復処理したいアレイであるべきであり、右側の式は、配列内の各要素の値で上書きされます変数です。

PHPはexplode(',', $permissionString)$permissionの要素を記述しようとしているので、あなたがエラーを取得する理由はあるが、explode(',', $permissionString)は、関数呼び出し、変数ではない、とだけ変数を書き込むことができるので、これはエラーを返します。

この問題を修正するには、このように、asの順序を逆にしてみてください:foreachの文で

foreach (explode(',', $permissionString) as $permission) { 
関連する問題