0

私は今、奇妙な問題を抱えています。どうやら、MySQL PDO ドライバーと Apache サーバーに問題があったため、再インストールしてもらいました。しかし今、私がそれをした後、この解析エラーが突然現れました:

Parse error: syntax error, unexpected '[' on line 5

さて、これは5行目のコードです:

return array_map(function ($val) { return explode('.', $val)[0]; }, scandir(DIR . M_DIR));

私は真剣にこれを理解していません。そして、このエラーを修正するために何をしようとしても、有効なままです。ヘルプ?

4

2 に答える 2

2

PHP 5.4 以降では、関数またはメソッド呼び出しの結果を直接配列逆参照することが可能です。以前は、一時変数を使用することしかできませんでした。

配列

を見てみましょう

あなたのコードはそのように見える必要があります

return array_map(
    function ($val)
        { 
        $temp = explode('.', $val); 
        return $temp[0]; 
        }, 
    scandir(DIR . M_DIR));

また

return array_map(
    function ($val)
        { 
        return current(explode('.', $val));
        }, 
    scandir(DIR . M_DIR));
于 2013-03-26T02:38:06.830 に答える
1

展開された配列を別の変数に格納し、0 番目のインデックスを返します。

このような:

return array_map( function ($val) { 
        $temp explode('.', $val);
        return $temp[0];
    }, scandir(DIR . M_DIR));
于 2013-03-26T02:38:57.813 に答える