2

この特定の例を解決しないように、同様のコードを1行にする方法を探しています。

$file_path = pathinfo($_SERVER["SCRIPT_NAME"]);
$file_name = $file_path["filename"];

例えば

$file_name = pathinfo($_SERVER["SCRIPT_NAME"])["filename"];
4

2 に答える 2

2

Array dereferencing is only possible from php 5.5. If you have an earlier version, sadly, it will not be possible.

However you could try using list, which will assign all the array elements in pathinfo to individual variables. If you order your variables correctly, $file_name will have what you need.

于 2013-04-25T22:14:10.070 に答える
0

残念ながら、PHP の構文は、PHP5.5 より前のバージョンではこれをサポートしていません。PHP5.5 以降では、次のように記述できます。

echo pathinfo($path)['filename'];

バージョン < 5.5 を使用している場合は、カスタム関数を作成することをお勧めします。

function array_get($key, $array) {
    if(!array_kex_exists($key, $array)) {
        throw new Exception('$array has no index: ' . $key);
    }
    return $array[$key];
}

次に、それを使用します。

$filename = array_get('filename', pathinfo($path));
于 2013-04-25T22:14:36.797 に答える