0

再び PHP のスキルに集中しようとしていますが、配列の使用に行き詰まっているようです。

私は700個のアイテムを含む配列を持っています。ただし、各項目は次のようになります。

-rw-r--r-- 1 u37148 u37148 714513 Dec 31 23:06 01-01-13-etc.tar.gz --> ITEM 1 in array
-rw-r--r-- 1 u37148 u37148 7402504 Dec 31 23:06 01-01-13-home-bnc.tar.gz --> ITEM 2 in array
etcetera

上記のように、各項目は同じ構造を持ち、スペース区切りで区切られた 9 つの個別の文字列を持っています。

各項目の 9 番目のフィールドのみを抽出するために必要なコードは何ですか? 次で構成される新しい配列が必要です。

01-01-13-etc.tar.gz ; 01-01-13-home-bnc.tar.gz ; ... and so on.

また、アイテムごとに他のフィールドにアクセスできる必要があるかもしれません。

4

2 に答える 2

0

入力配列の文字列が常に同じ構造を持つ場合は、次のことを試すことができます。

$result = array();
foreach($input as $item)
    $result[] = explode(" ", $item)[8];

アップデート

fab's answer へのコメントに基づいて、次のpreg_split代わりに試すことができexplodeます。

$result = array();
foreach($input as $item)
    $result[] = preg_split("/\s+/", $item, 9)[8];

これにより、文字列が一連の空白で分割され、正確に 9 つの項目で構成される配列が返されます (最後の項目には空白を含めることができます)。

于 2013-03-31T18:01:35.577 に答える