0

私は次の文字列を持っています:

test1.doc,application/msword,/tmp/phpDcvNQ5,0,23552 

コンマの前の最初の部分が必要です。最初の部分「test1.doc」を、残りの文字列なしで単独で取得するにはどうすればよいですか?

文字列は、内破した配列からのものでした:

$uploadFlag=implode( ',', $uploadFlag );
echo $uploadFlag;

配列から最初の値だけを抽出する方が簡単な場合は、それでうまくいきます。配列にキーがないと思います。

前もって感謝します。

4

6 に答える 6

4

echo $uploadFlag[0];

ええと、そのコード全体の代わりにそれを試してください。内破しているので、代わりに最初のピースをつかむことができます. それは適切な値を反映するはずです!

于 2011-10-16T22:20:50.867 に答える
2

次のコードを使用します。

$part = substr($uploadFlag , 0, strpos($uploadFlag , ','));
于 2011-10-16T22:20:41.500 に答える
2
$parts = explode(',', $uploadFlag);
$firstPart = $parts[0];
于 2011-10-16T22:20:46.417 に答える
2

preg_replace()文字列から抽出するには、たとえば次のように使用できます。

$firstPart = preg_replace('/,.*$/', '', $uploadFlag);

上記の例では、正規表現は.*、最初のコンマ ( ,) から文字列の末尾 ( ) までのすべて ( ) を何も置き換え$ません ( '')。

または、$uploadFlag分解された文字列で置き換える前に配列を使用できる場合は、 を使用して配列reset()の最初の要素に移動し、current()その値を抽出できます。

reset($uploadFlag);
$firstPart = current($uploadFlag);
于 2011-10-16T22:23:51.553 に答える
0

Implodeは正しい関数ではありません。配列を取り、1 つの文字列に結合します。によって処理される逆の操作を実行しようとしていますexplode:

    $uploadFlag=explode( ',', $uploadFlag );
    echo $uploadFlag;
于 2011-10-16T22:24:07.027 に答える
0

echo array_shift(array_slice($uploadFlag, 0, 1));連想配列または番号付き配列である配列の最初の要素を出力します。

于 2011-10-16T22:31:42.967 に答える