0

関数から返される配列キーを出力したい。現在、次のようになっています。

$x = explode('/', 'my/path/home');
echo $x[1];

しかし、変数の割り当てなしで1行だけで出力するにはどうすればよいですか?

私はこれを試していますが、うまくいきません:

echo explode('/', 'my/path/home')[1];
4

3 に答える 3

2

試したことはありませんが、これはあなたを助けるかもしれません:

echo array_slice(explode('/', 'my/path/home'), 1, 1);

また、文字列にスラッシュがない場合、このコードは爆発します。

于 2013-07-01T20:48:29.667 に答える
1

これを 1 行で行う必要がある場合は、IMO を使用することをお勧めしlistます。

list(, $x) = explode('/', $path);

これは間違いなく、長々としたものよりも優れています

$x = implode('', array_slice(explode('/', $path), 1, 1));

そもそも何をするべきだったのかを忘れがちです。

2 番目の要素があるかどうかわからない場合は、次の問題を防ぐことができます。

list(, $x) = array_pad(explode('/', $path), 2, null);

ただし、実際のコードでは上記のいずれもお勧めしません。必要に応じてツーライナーを使用してください。これらのソリューションよりも読みやすいでしょう。

于 2013-07-01T21:45:40.180 に答える