関数から返される配列キーを出力したい。現在、次のようになっています。
$x = explode('/', 'my/path/home');
echo $x[1];
しかし、変数の割り当てなしで1行だけで出力するにはどうすればよいですか?
私はこれを試していますが、うまくいきません:
echo explode('/', 'my/path/home')[1];
試したことはありませんが、これはあなたを助けるかもしれません:
echo array_slice(explode('/', 'my/path/home'), 1, 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);
ただし、実際のコードでは上記のいずれもお勧めしません。必要に応じてツーライナーを使用してください。これらのソリューションよりも読みやすいでしょう。